Hello community, here is the log from the commit of package kbd for openSUSE:Factory checked in at 2020-09-23 13:00:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kbd (Old) and /work/SRC/openSUSE:Factory/.kbd.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kbd" Wed Sep 23 13:00:44 2020 rev:100 rq: version:2.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kbd/kbd.changes 2020-09-23 12:59:20.217774336 +0200 +++ /work/SRC/openSUSE:Factory/.kbd.new.4249/kbd.changes 2020-09-23 13:00:45.773857737 +0200 @@ -1,0 +2,679 @@ +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 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 New: ---- 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 ++++++ 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 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. Please keep in mind, that all these settings only affect the console, i.e. text mode. Your SuSE team ++++++ cz-map.patch ++++++ --- cz.map.orig 2015-08-06 13:54:28.823257906 +0200 +++ cz.map 2015-08-06 13:54:49.338038186 +0200 @@ -39,7 +39,7 @@ keycode 38 = +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l keycode 39 = +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar keycode 40 = U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+0053 U+00a7 U+0021 U+0027 +U+0053 Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+0053 U+00a7 U+0021 U+0027 +U+0053 Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+0053 U+00a7 U+0021 U+0027 +U+0053 Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+0053 U+00a7 U+0021 U+0027 +U+0053 Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe -keycode 41 = U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum +keycode 41 = U+003b dead_grave U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift keycode 43 = dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash keycode 44 = +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y @@ -108,3 +108,49 @@ keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period strings as usual +# dead_grave +compose '`' 'u' to U+016F +compose '`' 'U' to U+016E +compose '`' 'z' to U+00B0 +compose '`' 'Z' to U+00B0 +# dead_acute +compose '\'' 'a' to U+00E1 +compose '\'' 'A' to U+00C1 +compose '\'' 'e' to U+00E9 +compose '\'' 'E' to U+00C9 +compose '\'' 'i' to U+00ED +compose '\'' 'I' to U+00CD +compose '\'' 'o' to U+00F3 +compose '\'' 'O' to U+00D3 +compose '\'' 'u' to U+00FA +compose '\'' 'U' to U+00DA +compose '\'' 'y' to U+00FD +compose '\'' 'Y' to U+00DD +# dead_caron +compose '^' 'u' to U+016F +compose '^' 'U' to U+016E +compose '^' 'c' to U+010D +compose '^' 'C' to U+010C +compose '^' 'd' to U+010F +compose '^' 'D' to U+010E +compose '^' 'e' to U+011B +compose '^' 'E' to U+011A +compose '^' 'n' to U+0148 +compose '^' 'N' to U+0147 +compose '^' 'r' to U+0159 +compose '^' 'R' to U+0158 +compose '^' 's' to U+0161 +compose '^' 'S' to U+0160 +compose '^' 't' to U+0165 +compose '^' 'T' to U+0164 +compose '^' 'z' to U+017E +compose '^' 'Z' to U+017D +# dead_diaeresis +compose '"' 'a' to U+00E4 +compose '"' 'A' to U+00C4 +compose '"' 'e' to U+00EB +compose '"' 'E' to U+00CB +compose '"' 'o' to U+00F6 +compose '"' 'O' to U+00D6 +compose '"' 'u' to U+00FC +compose '"' 'U' to U+00DC ++++++ fbtest.8 ++++++ '\" -*- coding: UTF-8 -*- .\" .\" Copyright 2008 Werner Fink, 2008 SUSE LINUX Products GmbH, Germany. .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .TH FBTEST 8 "May 6, 2008" "0.42" "International Support" .SH NAME fbtest \- test if a virtual console is mapped to a frame buffer devive .SH SYNOPSIS .B fbtest .RB [ \-f \ \fI<fb_device>\fR] .RB [ \-C \ \fI<vc_device>\fR] .br .B fbtest .B \-\-help .SH DESCRIPTION The program .BR fbtest (8) is used to test if a virtual console, e.g. .I /dev/tty1 is mapped on a frame buffer device. .SH OPTIONS .TP .BR \-f ,\ \-\-fb = \fI<fb_device>\fR This option specifies an other frame buffer device than the default .IR /dev/fb0 . .TP .BR \-C ,\ \-\-vc = \fI<vc_device>\fR This option specifies an other virtual console than the default .IR /dev/tty1 . .SH EXIT STATUS .IP \fB0\fR 5 The virtual console is mapped onto a frame buffer device. .IP \fB1\fR 5 The virtual console is .B not mapped onto a frame buffer device. .PP .SH FILES .I /dev/fb0 .br .I /dev/tty<1...63> .SH SEE ALSO .BR fbset (8). ++++++ fbtest.c ++++++ /* * fbtest(.c) * * Copyright 2008 Werner Fink, 2008 SUSE LINUX Products GmbH, Germany. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * */ #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/sysmacros.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <errno.h> #include <fcntl.h> #include <getopt.h> #include <unistd.h> #include <linux/fb.h> static struct option options[] = { { "fb", required_argument, 0, 'f'}, { "vc", required_argument, 0, 'C'}, { "help", no_argument, 0, 'h'}, { (const char*)0, 0, (int*)0, 0} }; int main(int argc, char * argv[]) { struct fb_con2fbmap map = {1, -1}; const char *base = basename(argv[0]); const char * fb = (char*)0; const char * vc = (char*)0; struct stat st; int c, fd; opterr = 0; while ((c = getopt_long(argc, argv, "hf:C:", options, (int *)0)) != -1) { switch (c) { case 'f': fb = optarg; break; case 'C': vc = optarg; break; case 'h': fprintf(stderr, "%s: Usage:\n %s [-f <fb_device>] [-C <vc_device>]\n", base, base); fprintf(stderr, "Valid options are:\n"); fprintf(stderr, " -f <fb_device> The frame buffer device (default /dev/fb0)\n"); fprintf(stderr, " -C <vc_device> The virtual console device (default /dev/tty1)\n"); return 0; case '?': fprintf(stdout, "%s: Invalid option for help use:\n %s --help\n", base, base); return 1; break; default: break; } } if (fb == (char*)0) { fb = "/dev/fb/0"; if (stat(fb, &st) < 0) { if (errno != ENOENT && errno != ENOTDIR) { fprintf(stderr, "%s: %s: %m\n", base, fb); return 1; } fb = "/dev/fb0"; if (stat(fb, &st) < 0) { fprintf(stderr, "%s: %s: %m\n", base, fb); return 1; } } } if (vc == (char*)0) vc = "/dev/tty1"; if (stat(vc, &st) < 0) { fprintf(stderr, "%s: %s: %m\n", base, vc); return 1; } if (major(st.st_rdev) != (dev_t)4) { errno = ECANCELED; fprintf(stderr, "%s: %s: %m\n", base, vc); return 1; } if ((fd = open(fb, O_RDONLY|O_NOCTTY)) < 0) { if (errno != ENODEV) fprintf(stderr, "%s: %s: %m\n", base, fb); return 1; } map.console = (typeof(map.console))minor(st.st_rdev); map.framebuffer = (typeof(map.framebuffer))-1; if (ioctl(fd, FBIOGET_CON2FBMAP, &map) < 0) { fprintf(stderr, "%s: %s: %m\n", base, fb); return 1; } return map.framebuffer > FB_MAX; } ++++++ genmap4systemd.sh ++++++ #!/bin/bash # Generate entries for systemd's /usr/share/systemd/kbd-model-map if [ $# -eq 0 ]; then pushd /usr/share/kbd/keymaps/xkb > /dev/null || exit 1 else pushd > /dev/null $1 || exit 1 fi echo "# generated from xkb generated keymaps (basic layouts *without* variant)" for i in $(ls *.map.gz|grep -v "-"); do consolelayout=$(echo $i|sed 's/.map.gz//g') layout=$consolelayout variant="-" printf '%s' "$consolelayout" printf "\t\t\t" printf '%s' "$layout" printf '\t' printf 'microsoftpro\t\t' printf '%s' "$variant" printf '\t\t' printf 'terminate:ctrl_alt_bksp\n' done | sort -u echo "# generated from xkb generated keymaps (layouts *with* variant)" for i in $(ls *-*.map.gz); do consolelayout=$(echo $i|sed 's/.map.gz//g') conlen=$(echo "$consolelayout" |wc -m) conlen=$((conlen - 1)) layout=$(echo $i|cut -d "-" -f 1) variant=$(echo $i|cut -d "-" -f 2,3,4,5,6,7,8,9,10|cut -d "." -f1) varlen=$(echo $variant|wc -m) varlen=$((varlen -1)) printf '%s' "$consolelayout" if [ $conlen -lt 8 ]; then printf "\t\t\t" elif [ $conlen -lt 16 ]; then printf "\t\t" elif [ $conlen -lt 24 ]; then printf "\t" else printf ' ' fi printf '%s' "$layout" printf '\t' if [ "$layout" == "br" ]; then printf 'abnt2\t\t' elif [ "$layout" == "jp" ]; then printf 'jp106\t\t' else printf 'microsoftpro\t\t' fi printf '%s' "$variant" if [ $varlen -lt 8 ]; then printf "\t\t" elif [ $varlen -lt 16 ]; then printf "\t" else printf ' ' fi printf 'terminate:ctrl_alt_bksp\n' done | sort -u popd > /dev/null ++++++ kbd-1.15.2-docu-X11R6-xorg.patch ++++++ --- docs/doc/kbd.FAQ-15.html.orig 2012-02-27 13:27:11.000000000 +0300 +++ docs/doc/kbd.FAQ-15.html 2013-07-30 18:56:43.697000005 +0300 @@ -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> --- docs/doc/kbd.FAQ.txt.orig 2012-02-27 13:27:11.000000000 +0300 +++ docs/doc/kbd.FAQ.txt 2013-07-30 18:57:41.150000005 +0300 @@ -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. --- docs/doc/kbd.FAQ-8.html.orig 2012-02-27 13:27:11.000000000 +0300 +++ docs/doc/kbd.FAQ-8.html 2013-07-30 18:58:23.978000004 +0300 @@ -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.15.2-dumpkeys-C-opt.patch ++++++ Index: docs/man/man1/dumpkeys.1.in =================================================================== --- docs/man/man1/dumpkeys.1.in.orig +++ docs/man/man1/dumpkeys.1.in @@ -4,6 +4,7 @@ dumpkeys \- dump keyboard translation tables .SH SYNOPSIS .B dumpkeys +.RI [ \-C\ '<vc>' | \-\-console='<vc>' ] [ .\".B \-1Vdfhiklnstv .B \-h \-\-help \-i \-\-short\-info \-l \-s \-\-long\-info @@ -212,6 +213,12 @@ loadkeys how to interpret the keymap. (F .B \-V \-\-version Prints version number and exits. .LP +The affected console device can be specified using the +.I -C +(or +.I --console +) option. This option supports exactly one device name. +.LP .SH FILES .PD 0 .TP 20 Index: src/dumpkeys.c =================================================================== --- src/dumpkeys.c.orig +++ src/dumpkeys.c @@ -41,6 +41,8 @@ usage(int rc) " -t, --funcs-only display only the function key strings;\n" " -k, --keys-only display only key bindings;\n" " -d, --compose-only display only compose key combinations;\n" + " -C <vc>\n" + " --console=<vc> Indicate the virtual console device to be used;\n" " -c, --charset=")); lk_list_charsets(stderr); fprintf(stderr, _( @@ -55,7 +57,7 @@ usage(int rc) int main(int argc, char *argv[]) { - const char *short_opts = "hilvsnf1tkdS:c:V"; + const char *short_opts = "hilvsnf1tkdS:C:c:V"; const struct option long_opts[] = { { "help", no_argument, NULL, 'h' }, { "short-info", no_argument, NULL, 'i' }, @@ -68,6 +70,7 @@ int main(int argc, char *argv[]) { "keys-only", no_argument, NULL, 'k' }, { "compose-only", no_argument, NULL, 'd' }, { "charset", required_argument, NULL, 'c' }, + { "console", required_argument, NULL, 'C' }, { "verbose", no_argument, NULL, 'v' }, { "version", no_argument, NULL, 'V' }, { NULL, 0, NULL, 0 } @@ -82,6 +85,7 @@ int main(int argc, char *argv[]) char funcs_only = 0; char keys_only = 0; char diac_only = 0; + char * console = NULL; struct lk_ctx *ctx; @@ -135,6 +139,9 @@ int main(int argc, char *argv[]) } printf("charset \"%s\"\n", optarg); break; + case 'C': + console = optarg; + break; case 'V': print_version_and_exit(); break; @@ -150,7 +157,7 @@ int main(int argc, char *argv[]) if (optind < argc) usage(EX_USAGE); - if ((fd = getfd(NULL)) < 0) + if ((fd = getfd(console)) < 0) kbd_error(EXIT_FAILURE, 0, _("Couldn't get a file descriptor referring to the console")); /* check whether the keyboard is in Unicode mode */ ++++++ kbd-1.15.2-prtscr_no_sigquit.patch ++++++ XXX: reverted upstream --- data/keymaps/i386/azerty/fr-latin9.map | 1 + data/keymaps/i386/fgGIod/tr_f-latin5.map | 1 + data/keymaps/i386/qwerty/bg-cp1251.map | 1 + data/keymaps/i386/qwerty/bg_bds-cp1251.map | 1 + data/keymaps/i386/qwerty/br-abnt.map | 1 + data/keymaps/i386/qwerty/by.map | 1 + data/keymaps/i386/qwerty/cz-cp1250.map | 1 + data/keymaps/i386/qwerty/cz-lat2-prog.map | 1 + data/keymaps/i386/qwerty/cz-lat2.map | 1 + data/keymaps/i386/qwerty/cz.map | 8 ++++---- data/keymaps/i386/qwerty/defkeymap.map | 1 + data/keymaps/i386/qwerty/defkeymap_V1.0.map | 1 + data/keymaps/i386/qwerty/lt.baltic.map | 1 + data/keymaps/i386/qwerty/lt.l4.map | 1 + data/keymaps/i386/qwerty/lt.map | 1 + data/keymaps/i386/qwerty/pl2.map | 1 + data/keymaps/i386/qwerty/sk-prog-qwerty.map | 1 + data/keymaps/i386/qwerty/ua-utf-ws.map | 1 + data/keymaps/i386/qwerty/ua-utf.map | 1 + data/keymaps/i386/qwerty/ua-ws.map | 1 + data/keymaps/i386/qwerty/ua.map | 1 + data/keymaps/i386/qwerty/us-acentos.map | 1 + data/keymaps/i386/qwertz/cz-us-qwertz.map | 1 + data/keymaps/i386/qwertz/sk-prog-qwertz.map | 1 + 24 files changed, 27 insertions(+), 4 deletions(-) Index: kbd-1.15.2/data/keymaps/i386/azerty/fr-latin9.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/azerty/fr-latin9.map +++ kbd-1.15.2/data/keymaps/i386/azerty/fr-latin9.map @@ -418,6 +418,7 @@ keycode 100 = AltGr # La touche Ctrl+Pause = Attn = 101 a un code pour elle-m�me # keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Home Index: kbd-1.15.2/data/keymaps/i386/fgGIod/tr_f-latin5.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map +++ kbd-1.15.2/data/keymaps/i386/fgGIod/tr_f-latin5.map @@ -217,6 +217,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/bg-cp1251.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/bg-cp1251.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/bg-cp1251.map @@ -312,6 +312,7 @@ keycode 99 = Control_backslash 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/bg_bds-cp1251.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/bg_bds-cp1251.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/bg_bds-cp1251.map @@ -638,6 +638,7 @@ keycode 98 = KP_Divide keycode 99 = Control_backslash keycode 100 = AltGr keycode 101 = Break + control keycode 101 = Control_c keycode 102 = Find keycode 103 = Up keycode 104 = Prior Index: kbd-1.15.2/data/keymaps/i386/qwerty/br-abnt.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/br-abnt.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/br-abnt.map @@ -197,6 +197,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/by.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/by.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/by.map @@ -529,6 +529,7 @@ keycode 99 = VoidSymbol Control_backsl 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 \ Index: kbd-1.15.2/data/keymaps/i386/qwerty/cz-cp1250.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/cz-cp1250.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/cz-cp1250.map @@ -138,6 +138,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/cz-lat2-prog.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/cz-lat2-prog.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/cz-lat2-prog.map @@ -141,6 +141,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/cz-lat2.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/cz-lat2.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/cz-lat2.map @@ -138,6 +138,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/cz.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/cz.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/cz.map @@ -1086,13 +1086,13 @@ keycode 99 = dead_acute dead_acute 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/defkeymap.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/defkeymap.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/defkeymap.map @@ -222,6 +222,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/defkeymap_V1.0.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/defkeymap_V1.0.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/defkeymap_V1.0.map @@ -185,6 +185,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/lt.baltic.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/lt.baltic.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/lt.baltic.map @@ -171,6 +171,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/lt.l4.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/lt.l4.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/lt.l4.map @@ -463,6 +463,7 @@ keycode 99 = VoidSymbol # 99=Print-Scr 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/lt.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/lt.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/lt.map @@ -462,6 +462,7 @@ keycode 99 = VoidSymbol # 99=Print-Scr 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/pl2.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/pl2.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/pl2.map @@ -242,6 +242,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/sk-prog-qwerty.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/sk-prog-qwerty.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/sk-prog-qwerty.map @@ -122,6 +122,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/ua-utf-ws.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/ua-utf-ws.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/ua-utf-ws.map @@ -1526,6 +1526,7 @@ ctrll keycode 100 = CtrlR_Lock 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/ua-utf.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/ua-utf.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/ua-utf.map @@ -1516,6 +1516,7 @@ ctrll keycode 100 = CtrlR_Lock 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/ua-ws.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/ua-ws.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/ua-ws.map @@ -1521,6 +1521,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/ua.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/ua.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/ua.map @@ -1515,6 +1515,7 @@ ctrll keycode 100 = CtrlR_Lock 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 Index: kbd-1.15.2/data/keymaps/i386/qwerty/us-acentos.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwerty/us-acentos.map +++ kbd-1.15.2/data/keymaps/i386/qwerty/us-acentos.map @@ -194,6 +194,7 @@ keycode 99 = VoidSymbol 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 Index: kbd-1.15.2/data/keymaps/i386/qwertz/cz-us-qwertz.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwertz/cz-us-qwertz.map +++ kbd-1.15.2/data/keymaps/i386/qwertz/cz-us-qwertz.map @@ -135,6 +135,7 @@ control keycode 99 = Control_backslash 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 Index: kbd-1.15.2/data/keymaps/i386/qwertz/sk-prog-qwertz.map =================================================================== --- kbd-1.15.2.orig/data/keymaps/i386/qwertz/sk-prog-qwertz.map +++ kbd-1.15.2/data/keymaps/i386/qwertz/sk-prog-qwertz.map @@ -122,6 +122,7 @@ keycode 99 = VoidSymbol 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.15.2-setfont-no-cruft.patch ++++++ Index: kbd-2.2.0/src/kdfontop.c =================================================================== --- kbd-2.2.0.orig/src/kdfontop.c +++ kbd-2.2.0/src/kdfontop.c @@ -169,6 +169,23 @@ int putfont(int fd, unsigned char *buf, return 0; } +#if 1 + // 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", get_progname(), count, width, height, i); + perror("putfont: KDFONTOP"); + return -1; +#else /* Second attempt: PIO_FONTX */ cfd.charcount = count; cfd.charheight = height; @@ -191,4 +208,5 @@ int putfont(int fd, unsigned char *buf, return -1; } return 0; +#endif } ++++++ kbd-1.15.2-sv-latin1-keycode10.patch ++++++ --- 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 ++++++ kbd-1.15.2-unicode_scripts.patch ++++++ --- src/unicode_start +++ src/unicode_start @@ -72,6 +72,17 @@ # have a Unicode map attached, or explicitly specified, e.g., # by giving `def.uni' as a second argument. +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" @@ -80,6 +91,24 @@ setfont "$1" ;; 0) + 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 + printf "\033$CONSOLE_MAGIC" + fi + else + setfont $DEFAULT_UNICODE_FONT + fi ;; *) echo "usage: unicode_start [font [unicode map]]" ++++++ kbd-1.15.5-loadkeys-search-path.patch ++++++ Index: kbd-2.2.0/src/loadkeys.c =================================================================== --- kbd-2.2.0.orig/src/loadkeys.c +++ kbd-2.2.0/src/loadkeys.c @@ -24,7 +24,7 @@ #include "paths.h" #include "keymap.h" -static const char *const dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 }; +static const char *const dirpath1[] = { "", DATADIR "/" XKBKEYMAPDIR "/", DATADIR "/" LEGACYKEYMAPDIR "/**", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 }; static const char *const suffixes[] = { "", ".kmap", ".map", 0 }; static void __attribute__((noreturn)) Index: kbd-2.2.0/src/paths.h =================================================================== --- kbd-2.2.0.orig/src/paths.h +++ kbd-2.2.0/src/paths.h @@ -5,6 +5,8 @@ * The following five subdirectories are defined: */ #define KEYMAPDIR "keymaps" +#define XKBKEYMAPDIR "keymaps/xkb" +#define LEGACYKEYMAPDIR "keymaps/legacy" #define UNIMAPDIR "unimaps" #define TRANSDIR "consoletrans" #define VIDEOMODEDIR "videomodes" ++++++ kbd-2.0.2-comment-typo-qwerty.patch ++++++ Index: data/keymaps/mac/include/mac-qwerty-layout.inc =================================================================== --- data/keymaps/mac/include/mac-qwerty-layout.inc.orig 2012-02-27 11:27:11.000000000 +0100 +++ data/keymaps/mac/include/mac-qwerty-layout.inc 2014-08-22 08:47:46.799078582 +0200 @@ -1,4 +1,4 @@ -# qwertz-layout +# qwerty-layout keycode 12 = q keycode 13 = w keycode 14 = e ++++++ kbd-2.0.2-doshell-reference.patch ++++++ Index: docs/man/man1/openvt.1 =================================================================== --- docs/man/man1/openvt.1.orig 2013-08-27 22:45:33.000000000 +0200 +++ docs/man/man1/openvt.1 2014-09-12 11:48:08.465988937 +0200 @@ -92,5 +92,4 @@ .SH "SEE ALSO" .BR chvt (1), -.BR doshell (8), .BR login (1) ++++++ kbd-2.0.2-euro-unicode.patch ++++++ Index: data/keymaps/i386/include/euro.map =================================================================== --- data/keymaps/i386/include/euro.map.orig 2012-02-27 11:27:10.000000000 +0100 +++ data/keymaps/i386/include/euro.map 2014-09-25 12:31:37.594749095 +0200 @@ -2,5 +2,5 @@ # [Say: "loadkeys euro" to get Euro and cent with Alt on the positions # where many keyboards have E and C. # To get it displayed, use a latin0 (i.e., latin9) font.] -alt keycode 18 = currency +alt keycode 18 = euro alt keycode 46 = cent Index: data/keymaps/i386/include/euro1.map =================================================================== --- data/keymaps/i386/include/euro1.map.orig 2012-02-27 11:27:10.000000000 +0100 +++ data/keymaps/i386/include/euro1.map 2014-09-25 12:31:20.218749689 +0200 @@ -2,5 +2,5 @@ # [Say: "loadkeys euro1" to get Euro and cent with AltGr (right alt) # on the positions where many keyboards have 5 and C. # To get it displayed, use a latin0 (i.e., latin9) font.] -altgr keycode 6 = currency +altgr keycode 6 = euro altgr keycode 46 = cent Index: data/keymaps/i386/include/euro2.map =================================================================== --- data/keymaps/i386/include/euro2.map.orig 2012-02-27 11:27:10.000000000 +0100 +++ data/keymaps/i386/include/euro2.map 2014-09-25 12:31:52.098748600 +0200 @@ -2,5 +2,5 @@ # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt) # on the positions where many keyboards have E and C. # To get it displayed, use a latin0 (i.e., latin9) font.] -altgr keycode 18 = currency +altgr keycode 18 = euro altgr keycode 46 = cent ++++++ kbd-2.0.2-fix-bashisms.patch ++++++ diff -Ndurp kbd-2.0.2/contrib/font2psf kbd-2.0.2-fix-bashisms/contrib/font2psf --- kbd-2.0.2/contrib/font2psf 2012-02-27 12:27:10.000000000 +0200 +++ kbd-2.0.2-fix-bashisms/contrib/font2psf 2014-10-19 23:07:11.719239190 +0300 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh #written by Martin Lohner, SuSE GmbH, Dec 1998 echo "This script converts 256 character font to psf-fonts" echo "It simply assumes that all files in the current directory" @@ -15,24 +15,21 @@ read a random=hfdsvnpoh97k if [ $a = y -o $a = Y ] ; then echo "Creating psf-headers..." - echo -ne "\066" > $random - echo -ne "\004" >> $random - echo -ne "\000" >> $random + printf "\066\004\000" > $random - - echo -ne "\006" > $random.6.tmp + printf "\006" > $random.6.tmp cat $random $random.6.tmp > $random.6 - echo -ne "\010" > $random.8.tmp + printf "\010" > $random.8.tmp cat $random $random.8.tmp > $random.8 - echo -ne "\012" > $random.10.tmp + printf "\012" > $random.10.tmp cat $random $random.10.tmp > $random.10 - echo -ne "\014" > $random.12.tmp + printf "\014" > $random.12.tmp cat $random $random.12.tmp > $random.12 - echo -ne "\016" > $random.14.tmp + printf "\016" > $random.14.tmp cat $random $random.14.tmp > $random.14 - echo -ne "\020" > $random.16.tmp + printf "\020" > $random.16.tmp cat $random $random.16.tmp > $random.16 - echo -ne "\023" > $random.19.tmp + printf "\023" > $random.19.tmp cat $random $random.19.tmp > $random.19 for i in 6 8 10 12 14 16 19; do diff -Ndurp kbd-2.0.2/contrib/psfsplit kbd-2.0.2-fix-bashisms/contrib/psfsplit --- kbd-2.0.2/contrib/psfsplit 2012-02-27 12:27:10.000000000 +0200 +++ kbd-2.0.2-fix-bashisms/contrib/psfsplit 2014-10-19 22:53:02.271296655 +0300 @@ -11,17 +11,17 @@ then echo $1 -- non .psf file exit fi size=`hexdump -e '/1 "%i" ' -n1 -s2 $1 ` -size=$[ ($size % 2 + 1) * 256 ] +size=$((($size % 2 + 1) * 256)) height=`hexdump -e '/1 "%i" ' -n1 -s3 $1 ` echo $size chars, height=$height mkdir $1_ -dd bs=4 count=1 if=$1 of=$1_/#psf_header &>/dev/null +dd bs=4 count=1 if=$1 of=$1_/#psf_header >/dev/null 2>&1 i=0 -while let $[ i < $size ] +while [ $i -lt $size ] do - dd bs=1 count=$height skip=$[ $i * $height + 4 ] if=$1 \ - of=$1_/`printf "%.3x" $i` &>/dev/null - let i+=1 + dd bs=1 count=$height skip=$(($i * $height + 4)) if=$1 \ + of=$1_/`printf "%.3x" $i` >/dev/null 2>&1 + i=$((i + 1)) done -dd bs=1 skip=$[ $i * $height + 4 ] if=$1 of=$1_/map_tables &>/dev/null +dd bs=1 skip=$(($i * $height + 4)) if=$1 of=$1_/map_tables >/dev/null 2>&1 diff -Ndurp kbd-2.0.2/contrib/showconsolefont kbd-2.0.2-fix-bashisms/contrib/showconsolefont --- kbd-2.0.2/contrib/showconsolefont 2012-02-27 12:27:10.000000000 +0200 +++ kbd-2.0.2-fix-bashisms/contrib/showconsolefont 2014-10-19 22:58:03.106276304 +0300 @@ -5,16 +5,16 @@ # A small shell script version of the `showconsolefont' C program # -echo -e "\033%G" +printf "\033%%G\n" for L in "0 2 4 6" "1 3 5 7"; do for P in 0 1 2 3 4 5 6 7; do for U in 0 1 2 3; do for K in $L; do - echo -ne " \357\20$U\2$K$P" + printf " \357\20$U\2$K$P" done done echo done echo done -echo -ne "\033%@" +printf "\033%%@" diff -Ndurp kbd-2.0.2/rc/suse-kbd.rc kbd-2.0.2-fix-bashisms/rc/suse-kbd.rc --- kbd-2.0.2/rc/suse-kbd.rc 2012-02-27 12:27:11.000000000 +0200 +++ kbd-2.0.2-fix-bashisms/rc/suse-kbd.rc 2014-10-19 23:00:34.475266064 +0300 @@ -76,7 +76,7 @@ case "$1" in else return=$rc_failed fi - echo -e "Loading keymap ${retmsg#Loading*/usr/lib/kbd/keymaps/*/}${return}" + printf "Loading keymap ${retmsg#Loading*/usr/lib/kbd/keymaps/*/}${return}\n" ;; stop) ;; ++++++ kbd-unicode-fxxx.patch ++++++ Disable characters >=U+F000. These do not work properly. Explanation from Alexey Gladkov: The kbd value is unsigned short [1] and take a look how kernel gets a type [2]. The last bytes are occupied by type. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/kd.h?id=06dd3dfeea60e2a6457a6aedf97afc8e6d2ba497#n103 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/keyboard.h?id=06dd3dfeea60e2a6457a6aedf97afc8e6d2ba497#n45 The problem in the kernel. In the kb_value there is no room to store such values. Index: kbd-2.0.4/data/keymaps/i386/qwertz/de_alt_UTF-8.map =================================================================== --- kbd-2.0.4.orig/data/keymaps/i386/qwertz/de_alt_UTF-8.map +++ kbd-2.0.4/data/keymaps/i386/qwertz/de_alt_UTF-8.map @@ -160,7 +160,7 @@ shift alt keycode 2 = U+00AC # notsig shift alt keycode 3 = U+201D # right double quote shift alt keycode 4 = numbersign shift alt keycode 5 = sterling -shift alt keycode 6 = U+FB01 # fi ligature +#shift alt keycode 6 = U+FB01 # fi ligature shift alt keycode 7 = dead_circumflex shift alt keycode 8 = backslash shift alt keycode 9 = U+02DC # small tilde @@ -179,7 +179,7 @@ shift alt keycode 23 = Ucircumflex shift alt keycode 24 = Ooblique shift alt keycode 25 = U+220F # n-ary product shift alt keycode 26 = degree -shift alt keycode 27 = U+F8FF # apple logo +#shift alt keycode 27 = U+F8FF # apple logo shift alt keycode 30 = Aring shift alt keycode 31 = Iacute shift alt keycode 32 = U+2122 # trade mark @@ -188,7 +188,7 @@ shift alt keycode 34 = Igrave shift alt keycode 35 = Oacute shift alt keycode 36 = U+0131 # dotless i shift alt keycode 37 = U+02C6 # circumflex accent -shift alt keycode 38 = U+FB02 # fl ligature +#shift alt keycode 38 = U+FB02 # fl ligature shift alt keycode 39 = U+0152 # OE shift alt keycode 40 = AE shift alt keycode 41 = U+201C # left double quote @@ -210,7 +210,7 @@ control shift alt keycode 2 = U+00AC control shift alt keycode 3 = U+201D # right double quote control shift alt keycode 4 = numbersign control shift alt keycode 5 = sterling -control shift alt keycode 6 = U+FB01 # fi ligature +#control shift alt keycode 6 = U+FB01 # fi ligature control shift alt keycode 7 = circumflex control shift alt keycode 8 = backslash control shift alt keycode 9 = U+02DC # small tilde @@ -229,7 +229,7 @@ control shift alt keycode 23 = Ucircumf control shift alt keycode 24 = Ooblique control shift alt keycode 25 = U+220F # n-ary product control shift alt keycode 26 = degree -control shift alt keycode 27 = U+F8FF # apple logo +#control shift alt keycode 27 = U+F8FF # apple logo control shift alt keycode 30 = Aring control shift alt keycode 31 = Iacute control shift alt keycode 32 = U+2122 # trade mark @@ -238,7 +238,7 @@ control shift alt keycode 34 = Igrave control shift alt keycode 35 = Oacute control shift alt keycode 36 = U+0131 # dotless i control shift alt keycode 37 = U+02C6 # circumflex accent -control shift alt keycode 38 = U+FB02 # fl ligature +#control shift alt keycode 38 = U+FB02 # fl ligature control shift alt keycode 39 = U+0152 # OE control shift alt keycode 40 = AE control shift alt keycode 41 = U+201C # left double quote ++++++ kbdsettings ++++++ #! /bin/sh . /etc/sysconfig/keyboard [ $KBD_DELAY ] && /usr/bin/kbdrate -s -d $KBD_DELAY [ $KBD_RATE ] && /usr/bin/kbdrate -s -r $KBD_RATE for i in NUM SCR CAPS; do conf=$(eval echo KBD_${i}LOCK) eval confval=\"\$$conf\" [ -z "$confval" ] && continue param=$(echo $i | tr A-Z a-z | sed 's/scr/scroll/') for tty in ${KBD_TTY:-tty1 tty2 tty3 tty4 tty5 tty6}; do case "$confval" in yes) if [ $param = "num" ]; then touch /run/numlock-on fi /usr/bin/setleds -D +$param < /dev/$tty ;; no) if [ $param = "num" ]; then rm -f /run/numlock-on fi /usr/bin/setleds -D -$param < /dev/$tty ;; bios) bios=$(/usr/lib/kbd/numlockbios 2>/dev/null) if [ $param = "num" ]; then if [ "$bios" = "on" ]; then touch /run/numlock-on /usr/bin/setleds -D +$param < /dev/$tty elif [ "$bios" = "off" -o "$bios" = "unknown" ]; then rm -f /run/numlock-on /usr/bin/setleds -D -$param < /dev/$tty fi else echo "Value $confval invalid for $conf" fi ;; *) echo "error: unknown value $confval in $conf" ;; esac done done if [ "$KBD_DISABLE_CAPS_LOCK" = "yes" ]; then /usr/bin/dumpkeys | sed 's/ *58 *= *Caps_Lock/ 58 = Control/' | /usr/bin/loadkeys -q - fi ++++++ kbdsettings-nox86.patch ++++++ --- kbdsettings +++ kbdsettings @@ -24,20 +24,6 @@ fi /usr/bin/setleds -D -$param < /dev/$tty ;; - bios) - bios=$(/usr/lib/kbd/numlockbios 2>/dev/null) - if [ $param = "num" ]; then - if [ "$bios" = "on" ]; then - touch /run/numlock-on - /usr/bin/setleds -D +$param < /dev/$tty - elif [ "$bios" = "off" -o "$bios" = "unknown" ]; then - rm -f /run/numlock-on - /usr/bin/setleds -D -$param < /dev/$tty - fi - else - echo "Value ${!conf} invalid for $conf" - fi - ;; *) echo "error: unknown value ${!conf} in $conf" ;; --- sysconfig.keyboard +++ sysconfig.keyboard @@ -15,12 +15,12 @@ # Keyboard repeat rate (2.0 - 30.0) KBD_RATE="" -## Type: list(bios,yes,no) -## Default: bios +## Type: yesno +## Default: no # -# NumLock on? ("yes" or "no" or "bios" for BIOS setting) +# NumLock on? ("yes" or "no") # This setting may interfere with GNOME /org/gnome/settings-daemon/peripherals/keyboard/remember-numlock-state DConf key. -KBD_NUMLOCK="bios" +KBD_NUMLOCK="no" ## Type: yesno ## Default: no ++++++ kbdsettings.service ++++++ [Unit] Description=Apply settings from /etc/sysconfig/keyboard After=basic.target After=systemd-vconsole-setup.service PartOf=systemd-vconsole-setup.service ConditionPathExists=/dev/tty0 [Service] Type=oneshot ExecStart=/usr/sbin/kbdsettings RemainAfterExit=yes [Install] WantedBy=multi-user.target ++++++ libkeymap-Fix-mk_mapname-for-the-plain-map.patch ++++++ From: Alexey Gladkov <[email protected]> Date: Sun, 23 Feb 2020 18:24:59 +0100 Subject: libkeymap: Fix mk_mapname for the plain map Patch-mainline: 2.3 Git-commit: 88ae58fe8a223d11307accc36cc293133a18e7ac mk_mapname did not correctly return "plain" for the plain map (no modifier set) if it had already been called, as it did not correctly reset the static buffer that it uses for the map name. When mk_mapname is called for the first time from the first loop in lk_dump_ctable, all is fine, since buf has not been used yet and it is initialised to 0. However, when it is called again for the plain map from the second loop in lk_dump_ctable, buf already contains a value (left over from the last iteration in the first loop), and then strcat appends "plain" to that value instead of overwriting it, resulting in a bogus value. Reported-by: Javier Pello <[email protected]> Signed-off-by: Alexey Gladkov <[email protected]> Signed-off-by: Jiri Slaby <[email protected]> --- src/libkeymap/dump.c | 2 +- tests/data/dumpkeys-mktable/defkeymap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c index 8531b5aa3d91..d67eefaada54 100644 --- a/src/libkeymap/dump.c +++ b/src/libkeymap/dump.c @@ -101,7 +101,7 @@ mk_mapname(char modifier) int i; if (!modifier) { - strcat(buf, "plain"); + strcpy(buf, "plain"); return buf; } buf[0] = 0; diff --git a/tests/data/dumpkeys-mktable/defkeymap.c b/tests/data/dumpkeys-mktable/defkeymap.c index e831316a1ff3..5d9a3aaeff8c 100644 --- a/tests/data/dumpkeys-mktable/defkeymap.c +++ b/tests/data/dumpkeys-mktable/defkeymap.c @@ -565,7 +565,7 @@ static unsigned short shift_altgr_ctrl_alt_map[NR_KEYS] = { }; ushort *key_maps[MAX_NR_KEYMAPS] = { - shift_altgr_ctrl_altplain_map, shift_map, altgr_map, shift_altgr_map, + plain_map, shift_map, altgr_map, shift_altgr_map, ctrl_map, shift_ctrl_map, altgr_ctrl_map, shift_altgr_ctrl_map, alt_map, shift_alt_map, altgr_alt_map, shift_altgr_alt_map, ctrl_alt_map, shift_ctrl_alt_map, altgr_ctrl_alt_map, shift_altgr_ctrl_alt_map, 0 -- 2.28.0 ++++++ numlockbios.c ++++++ #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> int main() { #define BIOS_DATA_AREA 0x400 #define BDA_KEYBOARD_STATUS_FLAGS_4 0x97 #define BDA_KSF4_NUMLOCK_MASK 0x02 int fdmem; char c; errno=0; fdmem = open("/dev/mem", O_RDONLY); if (fdmem < 0) { fprintf(stderr, "Couldn't open /dev/mem; %s\n", strerror(errno)); goto finish; } if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) { fprintf(stderr, "Failed to seek /dev/mem: %s\n", strerror(errno)); goto finish; } if (read (fdmem, &c, sizeof(char)) == -1) { fprintf(stderr, "Failed to read /dev/mem: %s\n", strerror(errno)); goto finish; } if (c & BDA_KSF4_NUMLOCK_MASK) printf("on\n"); else printf("off\n"); finish: close(fdmem); if (errno) { printf("unknown\n"); exit(EXIT_FAILURE); } return 0; } ++++++ repack_kbd.sh ++++++ --- /var/tmp/diff_new_pack.ObWz6I/_old 2020-09-23 13:00:47.385859308 +0200 +++ /var/tmp/diff_new_pack.ObWz6I/_new 2020-09-23 13:00:47.385859308 +0200 @@ -1,4 +1,4 @@ -#! /bin/sh +#!/bin/sh # # repackage kbd source tar ball, # to remove fonts that forbid commercial distribution. @@ -6,30 +6,21 @@ # 2005-07-11, [email protected] tmpdir=`mktemp -d` +in="$1" +if [ -z $in ]; then + echo "usage: $0 <tarball>" + exit 1 +fi +name="${in%.tar.*}" -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 +# recent gnu tar can autodetect gzip / bzip2 +if ! tar xf "$in" -C $tmpdir; then + rm -rf $tmpdir + exit 1 +fi echo removing files... find $tmpdir -iname \*agafari\* | tee /dev/tty | xargs rm -tar jcf $in-repack.tar.bz2 -C $tmpdir . +tar Jcf $name-repack.tar.xz -C $tmpdir $name 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 1970-01-01 01:00:00.000000000 +0100 +++ new/data/keymaps/i386/azerty/lt.std.map 2010-03-29 17:15:16.000000000 +0200 @@ -0,0 +1,167 @@ +# 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 1970-01-01 01:00:00.000000000 +0100 +++ new/data/keymaps/i386/qwerty/ru1_win-utf.map 2008-05-19 12:35:07.000000000 +0200 @@ -0,0 +1,443 @@ +# 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 1970-01-01 01:00:00.000000000 +0100 +++ new/data/keymaps/i386/qwerty/tj_alt-UTF8.map 2009-10-01 14:46:23.000000000 +0200 @@ -0,0 +1,507 @@ +# 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 = "" + ++++++ sysconfig.console ++++++ --- /var/tmp/diff_new_pack.ObWz6I/_old 2020-09-23 13:00:47.477859398 +0200 +++ /var/tmp/diff_new_pack.ObWz6I/_new 2020-09-23 13:00:47.477859398 +0200 @@ -1,8 +1,9 @@ ## 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) @@ -10,7 +11,7 @@ # # Load this console font on bootup: # (/usr/share/kbd/consolefonts/) -# +# CONSOLE_FONT="" ## Type: string @@ -46,4 +47,3 @@ # Normally not needed (automatically handled by setfont). # CONSOLE_MAGIC="" - ++++++ sysconfig.keyboard ++++++ --- /var/tmp/diff_new_pack.ObWz6I/_old 2020-09-23 13:00:47.501859421 +0200 +++ /var/tmp/diff_new_pack.ObWz6I/_new 2020-09-23 13:00:47.505859426 +0200 @@ -1,16 +1,7 @@ ## Path: Hardware/Keyboard -## Description: Keyboard settings -## Type: string -## Default: "" -## ServiceRestart: kbd -# -# Keyboard settings for the text console +## Description: Keyboard settings for the text console +## ServiceRestart: kbdsettings # -# Keyboard mapping -# (/usr/share/kbd/keymaps/) -# e.g. KEYTABLE="de-latin1-nodeadkeys", "us" or empty for US settings -# -KEYTABLE="" ## Type: integer ## Default: @@ -27,7 +18,8 @@ ## Type: list(bios,yes,no) ## Default: bios # -# NumLock on? ("yes" or "no" or empty or "bios" for BIOS setting) +# 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. KBD_NUMLOCK="bios" ## Type: yesno @@ -54,11 +46,11 @@ KBD_DISABLE_CAPS_LOCK="no" ## Type: string -## Default: "tty1 tty2 tty3 tty4 tty5 tty6" +## Default: # # ttys for the above settings # Example: "tty1 tty2" -# "" for all tty's +# "" for tty's 1-6 # -KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6" +KBD_TTY="" ++++++ vlock.pamd ++++++ #%PAM-1.0 auth include common-auth account include common-account password include common-password session include common-session ++++++ xml2lst.pl ++++++ #!/usr/bin/perl # converts the <rules>.xml file to the old format <rules>.lst file # # Usage: # # perl xml2lst.pl < filename.xml > filename.lst # # author Ivan Pascal # modified by Vitezslav Crhonek $doc = new_document( 0, ''); parse('', $doc); ($reg) = node_by_name($doc, '/xkbConfigRegistry'); @models = node_by_name($reg, 'modelList/model/configItem'); @layouts = node_by_name($reg, 'layoutList/layout/configItem'); @options = node_by_name($reg, 'optionList/group/configItem'); for $i (@layouts) { ($name) = node_by_name($i, 'name'); @variants = node_by_name($i, '../variantList/variant/configItem'); for $v (@variants) { ($variant) = node_by_name($v, 'name'); printf("%s %s\n", text_child($name), text_child($variant)); } } sub with_attribute { local ($nodelist, $attrexpr) = @_; local ($attr, $value) = split (/=/, $attrexpr); local ($node, $attrvalue); if (defined $value && $value ne '') { $value =~ s/"//g; foreach $node (@{$nodelist}) { $attrvalue = node_attribute($node, $attr); if (defined $attrvalue && $attrvalue eq $value) { return $node; } } } else { foreach $node (@{$nodelist}) { if (! defined node_attribute($node, $attr)) { return $node; } } } undef; } # Subroutines sub parse { local $intag = 0; my (@node_stack, $parent); $parent = @_[1]; local ($tag, $text); while (<>) { chomp; @str = split /([<>])/; shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/); while (scalar @str) { $token = shift @str; if ($token eq '<') { $intag = 1; if (defined $text) { add_text_node($parent, $text); undef $text; } } elsif ($token eq '>') { $intag = 0; if ($tag =~ /^\/(.*)/) { # close tag $parent = pop @node_stack; } elsif ($tag =~ /^([^\/]*)\/$/) { empty_tag($parent, $1); } else { if (defined ($node = open_tag($parent, $tag))) { push @node_stack, $parent; $parent = $node; } } undef $tag; } else { if ($intag == 1) { if (defined $tag) { $tag .= ' '. $token; } else { $tag = $token; } } else { if (defined $text) { $text .= "\n" . $token; } else { $text = $token; } } } } } } sub new_document { $doc = new_node( 0, '', 'DOCUMENT'); $doc->{CHILDREN} = []; return $doc; } sub new_node { local ($parent_node, $tag, $type) = @_; my %node; $node{PARENT} = $parent_node; $node{TYPE} = $type; if ($type eq 'COMMENT' || $type eq 'TEXT') { $node{TEXT} = $tag; $node{NAME} = $type; return \%node; } local ($tname, $attr) = split(' ', $tag, 2); $node{NAME} = $tname; if (defined $attr && $attr ne '') { my %attr_table; local @attr_list = split ( /"/, $attr); local ($name, $value); while (scalar @attr_list) { $name = shift @attr_list; $name =~ s/[ =]//g; next if ($name eq ''); $value = shift @attr_list; $attr_table{$name} =$value; } $node{ATTRIBUTES} = \%attr_table; } return \%node; } sub add_node { local ($parent_node, $node) = @_; push @{$parent_node->{CHILDREN}}, $node; local $tname = $node->{NAME}; if (defined $parent_node->{$tname}) { push @{$parent_node->{$tname}}, $node } else { $parent_node->{$tname} = [ $node ]; } } sub empty_tag { local ($parent_node, $tag) = @_; local $node = new_node($parent_node, $tag, 'EMPTY'); add_node($parent_node, $node); } sub open_tag { local ($parent_node, $tag) = @_; local $node; if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) { $node = new_node($parent_node, $tag, 'COMMENT'); add_node($parent_node, $node); undef; return; } else { $node = new_node($parent_node, $tag, 'NODE'); $node->{CHILDREN} = []; add_node($parent_node, $node); return $node; } } sub add_text_node { local ($parent_node, $text) = @_; local $node = new_node($parent_node, $text, 'TEXT'); add_node($parent_node, $node); } sub node_by_name { local ($node, $name) = @_; local ($tagname, $path) = split(/\//, $name, 2); my @nodelist; if ($tagname eq '') { while ($node->{PARENT} != 0) { $node = $node->{PARENT}; } sublist_by_name($node, $path, \@nodelist); } else { sublist_by_name($node, $name, \@nodelist); } return @nodelist; } sub sublist_by_name { local ($node, $name, $res) = @_; local ($tagname, $path) = split(/\//, $name, 2); if (! defined $path) { push @{$res}, (@{$node->{$tagname}}); return; } if ($tagname eq '..' && $node->{PARENT} != 0) { $node = $node->{PARENT}; sublist_by_name($node, $path, $res); } else { local $n; for $n (@{$node->{$tagname}}) { sublist_by_name($n, $path, $res); } } } sub node_attribute { local $node = @_[0]; if (defined $node->{ATTRIBUTES}) { return $node->{ATTRIBUTES}{@_[1]}; } undef; } sub text_child { local ($node) = @_; local ($child) = node_by_name($node, 'TEXT'); return $child->{TEXT}; }
