From c4ac1371e900e94f3ca6cfedeb6485e80eebbde3 Mon Sep 17 00:00:00 2001 From: zyppe <210hcl@gmail.com> Date: Fri, 9 Feb 2024 17:36:08 +0800 Subject: [PATCH] Initialize for kbd --- .gitignore | 3 + .kbd.metadata | 3 + ...ont-Initialize-kfont_context-options.patch | 36 + README.SUSE | 42 + convert-kbd-mac.sed | 102 ++ cz-map.patch | 61 + fbtest.8 | 49 + fbtest.c | 112 ++ genmap4systemd.sh | 70 ++ kbd-1.15.2-docu-X11R6-xorg.patch | 33 + kbd-1.15.2-dumpkeys-C-opt.patch | 25 + kbd-1.15.2-prtscr_no_sigquit.patch | 326 +++++ kbd-1.15.2-sv-latin1-keycode10.patch | 10 + kbd-1.15.2-unicode_scripts.patch | 45 + kbd-1.15.5-loadkeys-search-path.patch | 26 + kbd-2.0.2-comment-typo-qwerty.patch | 10 + kbd-2.0.2-doshell-reference.patch | 10 + kbd-2.0.2-euro-unicode.patch | 33 + kbd-2.0.2-fix-bashisms.patch | 105 ++ kbd-unicode-fxxx.patch | 71 ++ kbd.changes | 1090 +++++++++++++++++ kbd.spec | 530 ++++++++ kbdsettings | 51 + kbdsettings-nox86.patch | 42 + kbdsettings.service | 15 + numlockbios.c | 52 + repack_kbd.sh | 26 + sysconfig.console | 49 + sysconfig.keyboard | 56 + vlock.pamd | 5 + xml2lst.pl | 231 ++++ 31 files changed, 3319 insertions(+) create mode 100644 .gitignore create mode 100644 .kbd.metadata create mode 100644 0001-libkfont-Initialize-kfont_context-options.patch create mode 100644 README.SUSE create mode 100644 convert-kbd-mac.sed create mode 100644 cz-map.patch create mode 100644 fbtest.8 create mode 100644 fbtest.c create mode 100644 genmap4systemd.sh create mode 100644 kbd-1.15.2-docu-X11R6-xorg.patch create mode 100644 kbd-1.15.2-dumpkeys-C-opt.patch create mode 100644 kbd-1.15.2-prtscr_no_sigquit.patch create mode 100644 kbd-1.15.2-sv-latin1-keycode10.patch create mode 100644 kbd-1.15.2-unicode_scripts.patch create mode 100644 kbd-1.15.5-loadkeys-search-path.patch create mode 100644 kbd-2.0.2-comment-typo-qwerty.patch create mode 100644 kbd-2.0.2-doshell-reference.patch create mode 100644 kbd-2.0.2-euro-unicode.patch create mode 100644 kbd-2.0.2-fix-bashisms.patch create mode 100644 kbd-unicode-fxxx.patch create mode 100644 kbd.changes create mode 100644 kbd.spec create mode 100644 kbdsettings create mode 100644 kbdsettings-nox86.patch create mode 100644 kbdsettings.service create mode 100644 numlockbios.c create mode 100644 repack_kbd.sh create mode 100644 sysconfig.console create mode 100644 sysconfig.keyboard create mode 100644 vlock.pamd create mode 100644 xml2lst.pl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cca8b24 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +kbd-2.4.0-repack.tar.xz +kbd_fonts.tar.bz2 +suse-add.tar.bz2 diff --git a/.kbd.metadata b/.kbd.metadata new file mode 100644 index 0000000..3afc3dc --- /dev/null +++ b/.kbd.metadata @@ -0,0 +1,3 @@ +12f69843fc36e8ddf53a9cea25ea91477fee12c9459c9d96282895cbc30e3abd kbd-2.4.0-repack.tar.xz +d4719be89c150313ff9c4c38d2e30ab824c108763f27e991c62dc3612ed743e1 kbd_fonts.tar.bz2 +7c1af9f5becb17a474c5d1614662c60960365dc5184972c98ffc66d1e0c09f41 suse-add.tar.bz2 diff --git a/0001-libkfont-Initialize-kfont_context-options.patch b/0001-libkfont-Initialize-kfont_context-options.patch new file mode 100644 index 0000000..54b2abc --- /dev/null +++ b/0001-libkfont-Initialize-kfont_context-options.patch @@ -0,0 +1,36 @@ +From 501efd7b873e1462da986f763398ea8d98df2767 Mon Sep 17 00:00:00 2001 +From: Fabian Vogt +Date: Fri, 14 Jan 2022 15:22:24 +0100 +Subject: [PATCH] libkfont: Initialize kfont_context->options + +kfont_init did not set the options member, so it had essentially random +content. This made setfont behave weirdly. + +Switch to calloc for good measure to avoid issues like this. + +Signed-off-by: Fabian Vogt +--- + src/libkfont/context.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/libkfont/context.c b/src/libkfont/context.c +index 9ce0975351be..d5a766606489 100644 +--- a/src/libkfont/context.c ++++ b/src/libkfont/context.c +@@ -143,11 +143,12 @@ kfont_init(const char *prefix, struct kfont_context **ctx) + { + struct kfont_context *p; + +- if (!(p = malloc(sizeof(*p)))) ++ if (!(p = calloc(1, sizeof(*p)))) + return -EX_OSERR; + + p->progname = prefix; + p->verbose = 0; ++ p->options = 0; + p->log_fn = log_stderr; + p->mapdirpath = mapdirpath; + p->mapsuffixes = mapsuffixes; +-- +2.34.0 + diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..6b6516d --- /dev/null +++ b/README.SUSE @@ -0,0 +1,42 @@ +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 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 +key, let it go again, enter the accent and then the letter. +Some examples: (Assuming Iso-Latin-1/9 character set:) + " a => ä + , c => ç + | S => $ + +Support for composition is unfortunately not contained in most keymaps. +Most lack two things: +(a) The 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 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 diff --git a/convert-kbd-mac.sed b/convert-kbd-mac.sed new file mode 100644 index 0000000..be7ef1f --- /dev/null +++ b/convert-kbd-mac.sed @@ -0,0 +1,102 @@ +# vim: syntax=sed +s#keycode[[:blank:]]*122[[:blank:]]*=[[:blank:]]*#keycode 59 = #;t 1; +s#keycode[[:blank:]]*121[[:blank:]]*=[[:blank:]]*#keycode 109 = #;t 1; +s#keycode[[:blank:]]*120[[:blank:]]*=[[:blank:]]*#keycode 60 = #;t 1; +s#keycode[[:blank:]]*119[[:blank:]]*=[[:blank:]]*#keycode 107 = #;t 1; +s#keycode[[:blank:]]*118[[:blank:]]*=[[:blank:]]*#keycode 62 = #;t 1; +s#keycode[[:blank:]]*117[[:blank:]]*=[[:blank:]]*#keycode 111 = #;t 1; +s#keycode[[:blank:]]*116[[:blank:]]*=[[:blank:]]*#keycode 104 = #;t 1; +s#keycode[[:blank:]]*115[[:blank:]]*=[[:blank:]]*#keycode 102 = #;t 1; +s#keycode[[:blank:]]*114[[:blank:]]*=[[:blank:]]*#keycode 110 = #;t 1; +s#keycode[[:blank:]]*113[[:blank:]]*=[[:blank:]]*#keycode 101 = #;t 1; +s#keycode[[:blank:]]*111[[:blank:]]*=[[:blank:]]*#keycode 88 = #;t 1; +s#keycode[[:blank:]]*109[[:blank:]]*=[[:blank:]]*#keycode 68 = #;t 1; +s#keycode[[:blank:]]*107[[:blank:]]*=[[:blank:]]*#keycode 70 = #;t 1; +s#keycode[[:blank:]]*103[[:blank:]]*=[[:blank:]]*#keycode 87 = #;t 1; +s#keycode[[:blank:]]*101[[:blank:]]*=[[:blank:]]*#keycode 67 = #;t 1; +s#keycode[[:blank:]]*100[[:blank:]]*=[[:blank:]]*#keycode 66 = #;t 1; +s#keycode[[:blank:]]*99[[:blank:]]*=[[:blank:]]*#keycode 61 = #;t 1; +s#keycode[[:blank:]]*98[[:blank:]]*=[[:blank:]]*#keycode 65 = #;t 1; +s#keycode[[:blank:]]*97[[:blank:]]*=[[:blank:]]*#keycode 64 = #;t 1; +s#keycode[[:blank:]]*96[[:blank:]]*=[[:blank:]]*#keycode 63 = #;t 1; +s#keycode[[:blank:]]*92[[:blank:]]*=[[:blank:]]*#keycode 73 = #;t 1; +s#keycode[[:blank:]]*91[[:blank:]]*=[[:blank:]]*#keycode 72 = #;t 1; +s#keycode[[:blank:]]*89[[:blank:]]*=[[:blank:]]*#keycode 71 = #;t 1; +s#keycode[[:blank:]]*88[[:blank:]]*=[[:blank:]]*#keycode 77 = #;t 1; +s#keycode[[:blank:]]*87[[:blank:]]*=[[:blank:]]*#keycode 76 = #;t 1; +s#keycode[[:blank:]]*86[[:blank:]]*=[[:blank:]]*#keycode 75 = #;t 1; +s#keycode[[:blank:]]*85[[:blank:]]*=[[:blank:]]*#keycode 81 = #;t 1; +s#keycode[[:blank:]]*84[[:blank:]]*=[[:blank:]]*#keycode 80 = #;t 1; +s#keycode[[:blank:]]*83[[:blank:]]*=[[:blank:]]*#keycode 79 = #;t 1; +s#keycode[[:blank:]]*82[[:blank:]]*=[[:blank:]]*#keycode 82 = #;t 1; +s#keycode[[:blank:]]*81[[:blank:]]*=[[:blank:]]*#keycode 117 = #;t 1; +s#keycode[[:blank:]]*78[[:blank:]]*=[[:blank:]]*#keycode 74 = #;t 1; +s#keycode[[:blank:]]*76[[:blank:]]*=[[:blank:]]*#keycode 96 = #;t 1; +s#keycode[[:blank:]]*75[[:blank:]]*=[[:blank:]]*#keycode 98 = #;t 1; +s#keycode[[:blank:]]*71[[:blank:]]*=[[:blank:]]*#keycode 69 = #;t 1; +s#keycode[[:blank:]]*69[[:blank:]]*=[[:blank:]]*#keycode 78 = #;t 1; +s#keycode[[:blank:]]*67[[:blank:]]*=[[:blank:]]*#keycode 55 = #;t 1; +s#keycode[[:blank:]]*65[[:blank:]]*=[[:blank:]]*#keycode 83 = #;t 1; +s#keycode[[:blank:]]*62[[:blank:]]*=[[:blank:]]*#keycode 103 = #;t 1; +s#keycode[[:blank:]]*61[[:blank:]]*=[[:blank:]]*#keycode 108 = #;t 1; +s#keycode[[:blank:]]*60[[:blank:]]*=[[:blank:]]*#keycode 106 = #;t 1; +s#keycode[[:blank:]]*59[[:blank:]]*=[[:blank:]]*#keycode 105 = #;t 1; +s#keycode[[:blank:]]*58[[:blank:]]*=[[:blank:]]*#keycode 56 = #;t 1; +s#keycode[[:blank:]]*57[[:blank:]]*=[[:blank:]]*#keycode 58 = #;t 1; +s#keycode[[:blank:]]*56[[:blank:]]*=[[:blank:]]*#keycode 42 = #;t 1; +s#keycode[[:blank:]]*55[[:blank:]]*=[[:blank:]]*#keycode 125 = #;t 1; +s#keycode[[:blank:]]*54[[:blank:]]*=[[:blank:]]*#keycode 29 = #;t 1; +s#keycode[[:blank:]]*53[[:blank:]]*=[[:blank:]]*#keycode 1 = #;t 1; +s#keycode[[:blank:]]*51[[:blank:]]*=[[:blank:]]*#keycode 14 = #;t 1; +s#keycode[[:blank:]]*50[[:blank:]]*=[[:blank:]]*#keycode 41 = #;t 1; +s#keycode[[:blank:]]*49[[:blank:]]*=[[:blank:]]*#keycode 57 = #;t 1; +s#keycode[[:blank:]]*48[[:blank:]]*=[[:blank:]]*#keycode 15 = #;t 1; +s#keycode[[:blank:]]*47[[:blank:]]*=[[:blank:]]*#keycode 52 = #;t 1; +s#keycode[[:blank:]]*46[[:blank:]]*=[[:blank:]]*#keycode 50 = #;t 1; +s#keycode[[:blank:]]*45[[:blank:]]*=[[:blank:]]*#keycode 49 = #;t 1; +s#keycode[[:blank:]]*44[[:blank:]]*=[[:blank:]]*#keycode 53 = #;t 1; +s#keycode[[:blank:]]*43[[:blank:]]*=[[:blank:]]*#keycode 51 = #;t 1; +s#keycode[[:blank:]]*42[[:blank:]]*=[[:blank:]]*#keycode 43 = #;t 1; +s#keycode[[:blank:]]*41[[:blank:]]*=[[:blank:]]*#keycode 39 = #;t 1; +s#keycode[[:blank:]]*40[[:blank:]]*=[[:blank:]]*#keycode 37 = #;t 1; +s#keycode[[:blank:]]*39[[:blank:]]*=[[:blank:]]*#keycode 40 = #;t 1; +s#keycode[[:blank:]]*38[[:blank:]]*=[[:blank:]]*#keycode 36 = #;t 1; +s#keycode[[:blank:]]*37[[:blank:]]*=[[:blank:]]*#keycode 38 = #;t 1; +s#keycode[[:blank:]]*36[[:blank:]]*=[[:blank:]]*#keycode 28 = #;t 1; +s#keycode[[:blank:]]*35[[:blank:]]*=[[:blank:]]*#keycode 25 = #;t 1; +s#keycode[[:blank:]]*34[[:blank:]]*=[[:blank:]]*#keycode 23 = #;t 1; +s#keycode[[:blank:]]*33[[:blank:]]*=[[:blank:]]*#keycode 26 = #;t 1; +s#keycode[[:blank:]]*32[[:blank:]]*=[[:blank:]]*#keycode 22 = #;t 1; +s#keycode[[:blank:]]*31[[:blank:]]*=[[:blank:]]*#keycode 24 = #;t 1; +s#keycode[[:blank:]]*30[[:blank:]]*=[[:blank:]]*#keycode 27 = #;t 1; +s#keycode[[:blank:]]*29[[:blank:]]*=[[:blank:]]*#keycode 11 = #;t 1; +s#keycode[[:blank:]]*28[[:blank:]]*=[[:blank:]]*#keycode 9 = #;t 1; +s#keycode[[:blank:]]*27[[:blank:]]*=[[:blank:]]*#keycode 12 = #;t 1; +s#keycode[[:blank:]]*26[[:blank:]]*=[[:blank:]]*#keycode 8 = #;t 1; +s#keycode[[:blank:]]*25[[:blank:]]*=[[:blank:]]*#keycode 10 = #;t 1; +s#keycode[[:blank:]]*24[[:blank:]]*=[[:blank:]]*#keycode 13 = #;t 1; +s#keycode[[:blank:]]*23[[:blank:]]*=[[:blank:]]*#keycode 6 = #;t 1; +s#keycode[[:blank:]]*22[[:blank:]]*=[[:blank:]]*#keycode 7 = #;t 1; +s#keycode[[:blank:]]*21[[:blank:]]*=[[:blank:]]*#keycode 5 = #;t 1; +s#keycode[[:blank:]]*20[[:blank:]]*=[[:blank:]]*#keycode 4 = #;t 1; +s#keycode[[:blank:]]*19[[:blank:]]*=[[:blank:]]*#keycode 3 = #;t 1; +s#keycode[[:blank:]]*18[[:blank:]]*=[[:blank:]]*#keycode 2 = #;t 1; +s#keycode[[:blank:]]*17[[:blank:]]*=[[:blank:]]*#keycode 20 = #;t 1; +s#keycode[[:blank:]]*16[[:blank:]]*=[[:blank:]]*#keycode 21 = #;t 1; +s#keycode[[:blank:]]*15[[:blank:]]*=[[:blank:]]*#keycode 19 = #;t 1; +s#keycode[[:blank:]]*14[[:blank:]]*=[[:blank:]]*#keycode 18 = #;t 1; +s#keycode[[:blank:]]*13[[:blank:]]*=[[:blank:]]*#keycode 17 = #;t 1; +s#keycode[[:blank:]]*12[[:blank:]]*=[[:blank:]]*#keycode 16 = #;t 1; +s#keycode[[:blank:]]*11[[:blank:]]*=[[:blank:]]*#keycode 48 = #;t 1; +s#keycode[[:blank:]]*10[[:blank:]]*=[[:blank:]]*#keycode 86 = #;t 1; +s#keycode[[:blank:]]*9[[:blank:]]*=[[:blank:]]*#keycode 47 = #;t 1; +s#keycode[[:blank:]]*8[[:blank:]]*=[[:blank:]]*#keycode 46 = #;t 1; +s#keycode[[:blank:]]*7[[:blank:]]*=[[:blank:]]*#keycode 45 = #;t 1; +s#keycode[[:blank:]]*6[[:blank:]]*=[[:blank:]]*#keycode 44 = #;t 1; +s#keycode[[:blank:]]*5[[:blank:]]*=[[:blank:]]*#keycode 34 = #;t 1; +s#keycode[[:blank:]]*4[[:blank:]]*=[[:blank:]]*#keycode 35 = #;t 1; +s#keycode[[:blank:]]*3[[:blank:]]*=[[:blank:]]*#keycode 33 = #;t 1; +s#keycode[[:blank:]]*2[[:blank:]]*=[[:blank:]]*#keycode 32 = #;t 1; +s#keycode[[:blank:]]*1[[:blank:]]*=[[:blank:]]*#keycode 31 = #;t 1; +s#keycode[[:blank:]]*0[[:blank:]]*=[[:blank:]]*#keycode 30 = #;t 1; +:1; diff --git a/cz-map.patch b/cz-map.patch new file mode 100644 index 0000000..99bef99 --- /dev/null +++ b/cz-map.patch @@ -0,0 +1,61 @@ +--- 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 diff --git a/fbtest.8 b/fbtest.8 new file mode 100644 index 0000000..811a77d --- /dev/null +++ b/fbtest.8 @@ -0,0 +1,49 @@ +'\" -*- 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\fR] +.RB [ \-C \ \fI\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\fR +This option specifies an other frame buffer device than +the default +.IR /dev/fb0 . +.TP +.BR \-C ,\ \-\-vc = \fI\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). diff --git a/fbtest.c b/fbtest.c new file mode 100644 index 0000000..e972250 --- /dev/null +++ b/fbtest.c @@ -0,0 +1,112 @@ +/* + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +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 ] [-C ]\n", base, base); + fprintf(stderr, "Valid options are:\n"); + fprintf(stderr, " -f The frame buffer device (default /dev/fb0)\n"); + fprintf(stderr, " -C 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; +} diff --git a/genmap4systemd.sh b/genmap4systemd.sh new file mode 100644 index 0000000..ed76313 --- /dev/null +++ b/genmap4systemd.sh @@ -0,0 +1,70 @@ +#!/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 + diff --git a/kbd-1.15.2-docu-X11R6-xorg.patch b/kbd-1.15.2-docu-X11R6-xorg.patch new file mode 100644 index 0000000..02ac679 --- /dev/null +++ b/kbd-1.15.2-docu-X11R6-xorg.patch @@ -0,0 +1,33 @@ +--- 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 @@ +

XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an + audible bell. xkbcomp can be used to generate a .xkm file + to enable these. The appropriate xkbcomp commands are listed in +-/usr/X11R6/lib/X11/xkb/compat/accessx. ++/usr/{X11R6/lib,share}/X11/xkb/compat/accessx. + Unfortunately, the exact process is still undocumented. +

+


+--- 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 @@ +
    +
  1. The Linux keyboard driver mechanism, used in conjunction with loadkeys.
  2. +
  3. The X mechanism - see X386keybd(1), later XFree86kbd(1). +-Under X11R6: edit /usr/X11R6/lib/X11/locale/iso8859-1/Compose.

    See also Andrew D. Balsa's comments at ++Under X11R6: edit /usr/{X11R6/lib,share}/X11/locale/iso8859-1/Compose.

    See also Andrew D. Balsa's comments at + http://wauug.erols.com/~balsa/linux/deadkeys/index.html. +

  4. +
  5. The emacs mechanism obtained by loading "iso-insert.el" or diff --git a/kbd-1.15.2-dumpkeys-C-opt.patch b/kbd-1.15.2-dumpkeys-C-opt.patch new file mode 100644 index 0000000..8409cdd --- /dev/null +++ b/kbd-1.15.2-dumpkeys-C-opt.patch @@ -0,0 +1,25 @@ +Index: docs/man/man1/dumpkeys.1.in +=================================================================== +--- docs/man/man1/dumpkeys.1.in.orig ++++ docs/man/man1/dumpkeys.1.in +@@ -6,6 +6,7 @@ dumpkeys \- dump keyboard translation ta + .B dumpkeys + [ + .\".B \-1Vdfhiklnstv ++.RI [ \-C\ '' | \-\-console='' ] + .B \-h \-\-help \-i \-\-short\-info \-l \-s \-\-long\-info + .B \-n \-\-numeric \-f \-\-full\-table \-1 \-\-separate-lines + .BI \-S shape +@@ -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 + .TP + .I @DATADIR@/keymaps diff --git a/kbd-1.15.2-prtscr_no_sigquit.patch b/kbd-1.15.2-prtscr_no_sigquit.patch new file mode 100644 index 0000000..2850f74 --- /dev/null +++ b/kbd-1.15.2-prtscr_no_sigquit.patch @@ -0,0 +1,326 @@ +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 diff --git a/kbd-1.15.2-sv-latin1-keycode10.patch b/kbd-1.15.2-sv-latin1-keycode10.patch new file mode 100644 index 0000000..2934d45 --- /dev/null +++ b/kbd-1.15.2-sv-latin1-keycode10.patch @@ -0,0 +1,10 @@ +--- 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 diff --git a/kbd-1.15.2-unicode_scripts.patch b/kbd-1.15.2-unicode_scripts.patch new file mode 100644 index 0000000..3d2f114 --- /dev/null +++ b/kbd-1.15.2-unicode_scripts.patch @@ -0,0 +1,45 @@ +--- 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]]" diff --git a/kbd-1.15.5-loadkeys-search-path.patch b/kbd-1.15.5-loadkeys-search-path.patch new file mode 100644 index 0000000..d5239ad --- /dev/null +++ b/kbd-1.15.5-loadkeys-search-path.patch @@ -0,0 +1,26 @@ +Index: kbd-2.3.0/src/loadkeys.c +=================================================================== +--- kbd-2.3.0.orig/src/loadkeys.c ++++ kbd-2.3.0/src/loadkeys.c +@@ -27,6 +27,8 @@ + + static const char *const dirpath1[] = { + "", ++ DATADIR "/" XKBKEYMAPDIR "/", ++ DATADIR "/" LEGACYKEYMAPDIR "/**", + DATADIR "/" KEYMAPDIR "/**", + KERNDIR "/", + NULL +Index: kbd-2.3.0/src/paths.h +=================================================================== +--- kbd-2.3.0.orig/src/paths.h ++++ kbd-2.3.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" diff --git a/kbd-2.0.2-comment-typo-qwerty.patch b/kbd-2.0.2-comment-typo-qwerty.patch new file mode 100644 index 0000000..2b8ff1e --- /dev/null +++ b/kbd-2.0.2-comment-typo-qwerty.patch @@ -0,0 +1,10 @@ +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 diff --git a/kbd-2.0.2-doshell-reference.patch b/kbd-2.0.2-doshell-reference.patch new file mode 100644 index 0000000..e5d4012 --- /dev/null +++ b/kbd-2.0.2-doshell-reference.patch @@ -0,0 +1,10 @@ +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) diff --git a/kbd-2.0.2-euro-unicode.patch b/kbd-2.0.2-euro-unicode.patch new file mode 100644 index 0000000..73b0ce8 --- /dev/null +++ b/kbd-2.0.2-euro-unicode.patch @@ -0,0 +1,33 @@ +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 diff --git a/kbd-2.0.2-fix-bashisms.patch b/kbd-2.0.2-fix-bashisms.patch new file mode 100644 index 0000000..5e3afd2 --- /dev/null +++ b/kbd-2.0.2-fix-bashisms.patch @@ -0,0 +1,105 @@ +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) + ;; diff --git a/kbd-unicode-fxxx.patch b/kbd-unicode-fxxx.patch new file mode 100644 index 0000000..f24570b --- /dev/null +++ b/kbd-unicode-fxxx.patch @@ -0,0 +1,71 @@ +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 diff --git a/kbd.changes b/kbd.changes new file mode 100644 index 0000000..1623cd8 --- /dev/null +++ b/kbd.changes @@ -0,0 +1,1090 @@ +* Mon Feb 21 2022 fvogt@suse.com +- Fix build without %%_distconfdir (see bsc#1195679) +* Mon Jan 17 2022 fvogt@suse.com +- Add patch to fix random doubling of font sizes (bsc#1194698): + * 0001-libkfont-Initialize-kfont_context-options.patch +* Fri Jul 23 2021 kukuk@suse.com +- Only run kbdsettings.service if /etc/sysconfig/keyboard exists. + Necessary for image based installations without admin made changes. +* Wed Jun 2 2021 christophe@krop.fr +- Update the installed license file. + COPYING is a symlink to LICENSE. Let's use this file directly. +* Fri Dec 18 2020 jslaby@suse.cz +- Update to version 2.4.0: + * po: Update cs and sr translations (from translationproject.org) + * libkfont: Use only KDFONTOP + * Added support for a few derivatives of neo + * Fix use-after-free of pipe_cmd + * Update solar24x32 font + * vlock's pam config added to destination directory + * Update sun12x22.psfu + * libkeymap: unify non/unicode accent_table generation + * libkeymap: note about --unicode use + * libkeymap: remove last ushort + * fi.map: use newly added deadkeys + * Do not install internal library + * Additional deadkeys +- Remove kbd-1.15.2-setfont-no-cruft.patch + The old ioctls were finally dropped. +* Fri Oct 16 2020 lnussel@suse.de +- prepare usrmerge (boo#1029961) +* Fri Sep 25 2020 dimstar@opensuse.org +- Do not package libtswrap.so.0: it's only used by the test suite + in a LD_PRELOAD fashion. +* Thu Sep 24 2020 sbrabec@suse.com +- Update to version 2.3.0: + * Added libkfont library (internal yet). + * Added Canadian Multilingual Standard keyboard map. + * Added us1 that maps Right Alt to AltGr and Shift+Tab to + Alt+Tab. + * The dead_macron is used instead of macron in fi.map. + * Added retries when switching to the console (chvt, openvt). + * Added option -d to double size of font (setfont). + * Added long options, help messages. + * Added solar24x32 font. + * Updated eurlatgr font. + * Fixed problems with formatting man pages. + * Fixed search path error (boo#1176854). +- Refresh partially upstreamed kbd-1.15.2-dumpkeys-C-opt.patch +- Drop upstreamed libkeymap-Fix-mk_mapname-for-the-plain-map.patch +- Refresh kbd-1.15.2-setfont-no-cruft.patch and + kbd-1.15.5-loadkeys-search-path.patch +* Tue Sep 22 2020 guillaume.gardet@opensuse.org +- Refresh patch to fix build on non-x86 architecture broken + by previous commit: + * kbdsettings-nox86.patch +* Thu Sep 17 2020 sbrabec@suse.com +- Make kbdsettings working in both bash and dash (boo#1175040). +* Thu Sep 17 2020 sbrabec@suse.com +- Fix kbd-1.15.5-loadkeys-search-path.patch to prefer xkb keymaps + (boo#1176302). +* Thu Aug 20 2020 jslaby@suse.com +- add libkeymap-Fix-mk_mapname-for-the-plain-map.patch +* Tue Apr 21 2020 lnussel@suse.de +- 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 2020 sbrabec@suse.com +- 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 2020 stefan.bruens@rwth-aachen.de +- 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 2019 kukuk@suse.de +- Move pam.d/vlock to /usr/etc +* Thu Sep 19 2019 mvidner@suse.com +- Allow YaST to select Iranian (Persian, Farsi) keyboard layout + (bsc#1092920) +* Thu Aug 2 2018 schwab@suse.de +- fbtest.c: include for major/minor +* Thu May 24 2018 kukuk@suse.de +- Use %%license instead of %%doc [bsc#1082318] +* Thu Apr 5 2018 sbrabec@suse.com +- Disable characters >=U+F000. These do not work properly + (bsc#1085432#c15, kbd-unicode-fxxx.patch). +* Thu Mar 15 2018 sbrabec@suse.com +- Do not cause error on UNICODE characters >= 0xF000 (e. g. + ligature fi) (bsc#1085432, kbd-unicode-fxxx.patch). +* Fri Jan 12 2018 sbrabec@suse.com +- 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 2017 fbui@suse.com +- 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 2017 rbrown@suse.com +- Replace references to /var/adm/fillup-templates with new + %%_fillupdir macro (boo#1069468) +* Fri Oct 13 2017 sbrabec@suse.com +- Add vlock.pamd PAM file (bsc#1056449#c8). +- Clean spec file. +* Fri Sep 22 2017 sbrabec@suse.com +- 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 2017 bwiedemann@suse.com +- call gzip -n to make build fully reproducible +* Thu Mar 23 2017 zaitor@opensuse.org +- Revert dropping of kdb-legacy Requires: There are still packages + and installation flows that needs this to be present + (boo#1027379). +* Sun Feb 12 2017 zaitor@opensuse.org +- Drop kdb-legacy Requires: No longer needed, and was always meant + to be temporary. +* Tue Jul 12 2016 tchvatal@suse.com +- 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 +* Wed Jun 15 2016 marceloatie@gmail.com +- Fix data/keymaps/i386/querty/br-abnt2.map + (boo#984958, kbd-1.15.5-br-abnt2-slash-question.patch) +* Thu Dec 10 2015 tiwai@suse.de +- Fix missing dependency on coreutils for initrd macros (boo#958562) +- Call missing initrd macro at postun (boo#958562) +* Fri Aug 21 2015 opensuse.lietuviu.kalba@gmail.com +- 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 2015 sndirsch@suse.com +- 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 2015 sndirsch@suse.com +- 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 2015 sndirsch@suse.com +- Include xkb layouts from xkeyboard-config converted to console + keymaps, (FATE#318426) + * Rename Finnish xkb converted layout + * Add xkb and legacy keymaps subdirs to loadkyes search path + (kbd-1.15.5-loadkeys-search-path.patch), remove symlinks, + Don't convert layouts that can't input ASCII, + * Original keymaps moved to legacy dir, created symlinks to xkb + keymaps +* Thu Apr 2 2015 crrodriguez@opensuse.org +- For the previos change to wok, we need to buildrequire + suse-module-tools to get the initrd rpm macros. +* Sat Mar 28 2015 crrodriguez@opensuse.org +- Regenerate the initrd if this package changes as it is + included there for early console setup. +* Tue Feb 10 2015 tchvatal@suse.com +- Convert changelog to utf8 +* Sat Nov 29 2014 ledest@gmail.com +- fix bashisms in scripts +- add patches: + * kbd-2.0.2-fix-bashisms.patch +- update patches: + * kbd-1.15.2-unicode_scripts.patch +* Thu Sep 25 2014 pgajdos@suse.com +- euro{,1,2}.map now produces correct unicode for Euro sign + [bnc#360993] +- added patches: + * kbd-2.0.2-euro-unicode.patch +* Thu Sep 18 2014 pgajdos@suse.com +- port dumpkeys-C-opt.patch +- modified patches: + * kbd-1.15.2-dumpkeys-C-opt.patch +* Fri Sep 12 2014 pgajdos@suse.com +- kbd-2.0.2-doshell-reference.patch: + drop doshell reference from openvt.1 man page [bnc#675317] +* Thu Sep 4 2014 jw@owncloud.com +- added /usr/bin/kbd, a simple userfriedly keymap switcher. + From https://github.com/jnweiger/kbd-wrapper +* Fri Aug 22 2014 pgajdos@suse.com +- drop kbd-1.15.2-chvt-userwait.patch [bnc#830805] (internal) + (--userwait seems to not be used anywhere) +* Fri Aug 22 2014 pgajdos@suse.com +- remove testutf8 stub (2009: testutf8 will be soon removed completely, + it's kept only not to break /etc/profile currently) +* Fri Aug 22 2014 pgajdos@suse.com +- Update to version 2.0.2: + libkeymap: fix kmap on big-endian machines + Add functions to get the total number of elements + Add functions to convert ksyms + eurlatgr - new Linux console font + Hide syms array + Add information about the total number of elements + Add function to obtain items from the diacritical table + Change the API for working with the diacritical table + Change API for working with list of functions + Add functions to check diacr/func existance + Add pancyrillic font + po: Update translations (from translationproject.org) + vlock: implement PAM account and password management + vlock: rename ERROR_TIMEOUT macro to LONG_DELAY + vlock: introduce short delays after non-fatal PAM errors + Added Latvian keymap + (changelog taken from + http://lists.altlinux.org/pipermail/kbd/2014-July/000476.html) +- add kbd-2.0.2-comment-typo-qwerty.patch [bnc#825385] +* Wed Aug 20 2014 pgajdos@suse.com +- SuSE -> SUSE [bnc#889035] +* Thu Jul 24 2014 dimstar@opensuse.org +- No longer recommend fbset: the package does no longer exist in + openSUSE since late 2013. +* Sun Nov 3 2013 dap.darkness@gmail.com +- Update to version 2.0.1: + * Disable arch-specific tests. + * Fix regression in processing alt_is_meta keyword. + * Rename Bepo keymaps: + dvorak-fr-bepo.map -> fr-bepo-latin9.map + dvorak-fr-bepo-utf8.map -> fr-bepo.map. +- Deleted kbd-1.15.2-dumpkeys-ppc.patch as obsolete: + http://lists.opensuse.org/opensuse-factory/2013-08/msg00347.html +- gcc 4.6+ became required to prevent compilling error: + "expected declaration specifiers or '...' before 'va_list'". +* Mon Aug 19 2013 dap.darkness@gmail.com +- Update to version 2.0.0: + * Add bepo keyboard layout; + * Add libkeymap; + * The loadkeys and dumpkeys always use the libkeymap. +- Updated patches because of docs moved: + * kbd-1.15.2-chvt-userwait.patch + * kbd-1.15.2-docu-X11R6-xorg.patch +- Disabled patches because of dumpkeys rewritten: + * kbd-1.15.2-dumpkeys-C-opt.patch + * kbd-1.15.2-dumpkeys-ppc.patch +* Thu Apr 4 2013 meissner@suse.com +- disable vlock build, which is in vlock package. +* Thu Apr 4 2013 crrodriguez@opensuse.org +- Remove sysvinit support, init scripts from this package + are masked by systemd and only serve for confusion. +* Wed Apr 3 2013 sbrabec@suse.cz +- sysconfig.keyboard: Updated description of KBD_NUMLOCK + (bnc#746595#c74). +* Wed Dec 5 2012 dap.darkness@gmail.com +- Update to version 1.15.5: + * Fix msgstr in es.po and update translations. + * Update changelog and increase version (1.15.5wip). + * po: Update vi.po from translationproject.org. + * Fix various vlock build errors. + * Fix loadkeys.analyze lex handling. + * Ignore config.cache files. +- Applied into upstream kbd-1.15.3-po-es.patch was deleted. +* Mon Dec 3 2012 dap.darkness@gmail.com +- Update to version 1.15.4: + * vlock: New utility which locks one or more virtual consoles. + * loadkeys: Change the handling of -C option. + * loadkeys: Fix -d option. + * Add dvorak-es keymap. + * Add dvorak-uk keymap (Joe MacMahon). + * Add dvorak-sv-a1 and dvorak-sv-a5 keymaps. + * Add ruwin_alt_sh-UTF-8 keymap (Dmitriy Perlow). +- kbd-1.15.3-po-es.patch was fixed. +- Applied into upstream patches were deleted. +- Fixed up via spec-cleaner. +- Clean-section was removed. +- Macro warnings were fixed via '%%' deleting. +* Fri Apr 20 2012 rschweikert@suse.com +- Place binaries into /usr tree (UsrMerge project) +* Tue Dec 20 2011 sbrabec@suse.cz +- Enable resizecons on x86_64 (bnc#737631). +* Wed Nov 30 2011 coolo@suse.com +- add automake as buildrequire to avoid implicit dependency +* Wed Oct 5 2011 lnussel@suse.de +- fix loadkeys -C option (bnc#720486) +* Fri Sep 30 2011 uli@suse.com +- cross-build fix: use %%__cc, %%configure macros +- configure: explicitly set bindir +* Wed Sep 14 2011 sbrabec@suse.cz +- Update to version 1.15.3: + * kbdinfo: New utility to obtain information about console. + * setvtrgb: New utility to set the virtual terminal RGB colors. + * loadkeys: Add LOADKEYS_KEYMAP_PATH env variable. + * loadkeys: Fix some memory leaks. + * loadkeys: Do not set prefer_unicode for iso-8859-1. + * loadkeys -a: Switch to ASCII mode. + * loadkeys: Fix "compose as usual" for Unicode diacritics. + * Add dvorak-ru keymap. + * Add LatGrkCyr fonts. +* Mon Mar 21 2011 werner@suse.de +- If /usr is located in a separate partition, the locale command fails. +- Ignore /var/run/keymap in sinlge user mode otherwise key mapping + could be wrong if booted cold into sinlge user mode +* Thu Feb 17 2011 werner@suse.de +- Tag boot script as interactive as systemd uses it +* Wed Jan 12 2011 lnussel@suse.de +- use /etc/defkeymap.name if possible to avoid find call +- move some code that is only needed for start to actual start section + (bnc#463801) +- Fixed symlink vulnerability of the init script + (bnc#663898, CVE-2011-0460). +* Tue Sep 7 2010 anicka@suse.cz +- build optional binaries (bnc#637453) +* Mon Sep 6 2010 anicka@suse.cz +- update to 1.15.2 + * Use automake to build translations. + * loadkeys -u: Switch to Unicode mode, if necessary + * Never handle plain ASCII characters as Unicode + * Enable UNUMBERs in compose definitions + * Use automake. + * Add --enable-strip configure option. + * unicode_start: Without any arguments utility will only set + unicode mode. + * Add qwerty/cz.map keymap. +- remove upstreamed and obsolete patches (-remove-kbio, -Makefile, + - 2d01989f, -no-strip) +- retain original behavior of unicode_start script +- remove manpages for programs that are not installed +* Thu May 27 2010 sndirsch@suse.de +- added dummy keyboard mappings for chinese/taiwanese (bnc #603950) +* Mon Mar 29 2010 anicka@suse.cz +- add lt.std map (bnc#569554) +* Fri Feb 19 2010 anicka@suse.cz +- respect KBD_TTY="" set in sysconfig (bnc#405658) +* Tue Feb 16 2010 vuntz@opensuse.org +- Add kbd-1.12-chvt-userwait.patch, taken from Gentoo to add a + - -userwait option to chvt. This can be used to avoid situation + where chvt can hang forever waiting for the vt switch: the wait + is done in userspace, and has a timeout of 5 seconds. (bnc#575123) +* Thu Feb 4 2010 jengelh@medozas.de +- remove inclusion of kbio.h on SPARC, this has been removed + in the kernel +* Sun Jan 10 2010 jw@novell.com +- added guess_encoding, an old script of mine, that tests + if a tty is in utf8 mode or not. + (Also helpful with text files in unknown encoding.) +* Mon Nov 2 2009 mmarek@suse.cz +- do not include '.' in the repacked tarball (bnc#544975). +* Thu Oct 1 2009 mmarek@suse.cz +- Add real Tajik keymap. +- remove slovak keymaps from suse-add.tar.bz2 that are already + upstream. +* Fri Sep 4 2009 mmarek@suse.cz +- added symlink tj.map.gz -> ruwin_alt-UTF-8.map.gz until there is + a real Tajik map. +* Tue May 19 2009 mmarek@suse.cz +- remove testutf8 (replace with a script that returns 2 in any + terminal), it's a hack that has a number of problems (bnc#436378, + bnc#334889). Users who don't want utf8 should adjust their locale + setting accordingly. +* Tue May 19 2009 mmarek@suse.cz +- do not load any usb drivers, udev takes care of this (bnc#482316). +* Mon Nov 10 2008 mmarek@suse.cz +- rename Spanish keymap for olpc to es-olpc to avoid ambiguity + (bnc#435121) +* Tue Nov 4 2008 sndirsch@suse.de +- added arabic console keyboard link ( arabic -> us ) (bnc #441432) +* Tue Oct 14 2008 mmarek@suse.cz +- fix case when multiple keymaps are found (bnc#259694) +- allow to specify a path such as 'i386/es.map.gz' in KEYTABLE +* Mon Sep 29 2008 mmarek@suse.cz +- fixed lat2a-16.psfu (bnc#340579) +* Tue Sep 9 2008 mmarek@suse.cz +- really use $RPM_OPT_FLAGS +* Thu Sep 4 2008 mmarek@suse.cz +- modified rckbd according to suggestions by Jiri Bohac + (bnc#367801#c17) + - first call setfont and then loadkeys, to make dead characters + work + - don't call dumpkeys | loadkeys --unicode +* Wed Aug 20 2008 mmarek@suse.cz +- updated to 1.14.1 + * Programs + - unicode_{start,stop}: To run loadkeys is allowed only to + root. + - mapscrn: Add '.acm' suffix for compatibility with + console-tools + - fix findfile so that it does not find directories + - kbdrate: fix for sparc + * Keymaps: + - Add Norwegian dvorak keymap. + - Add turkish F (trf) keyboard map. + - Fix turkish Q (trq) keyboard map (Ozgur Murat Homurlu). + - Move qwerty/cz.map -> qwertz/cz.map. + - include/*euro.map: Change 'currency' to 'euro' symbol. + - Add OLPC (One Laptop Per Child) keymaps + - Add more romanian keymaps (Vitezslav Crhonek) + - Add another ukrainian keymap + - Add Belarusian (Belarus) keymaps + - Add Kazakh keymap + - Add Kyrgyz keymap + - Add Bashkir (Russia) keymap + - Add Tatar keymaps + - Add more russian keymaps + * Fonts: + - Add unicode fonts (UniCyrExt_8x16.psf, UniCyr_8x14.psf, + UniCyr_8x16.psf, UniCyr_8x8.psf) + - Add Lat2-Terminus16 font + - Fix sun12x22 font unicode mapping table (Vitezslav Crhonek) + * translation updates +- dropped upstreamed patches: + kbd-1.12-Meta-Tab.diff + kbd-1.12-be-nice-to-kdm.diff + kbd-1.12-cz-us-qwertz.diff + kbd-1.12-dumpkeys-full.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-nohang-kbdrate2.diff + kbd-1.12-nounicode-nontty.diff + kbd-1.12-setfont-fpclose.diff + kbd-1.12-showconsolefont-info.diff + kbd-1.12-swiss.diff + kbd-1.12.diff + piofont_debug.diff +- dropped bnc147581_jp106.diff because it was not needed + (bnc#147581) +* Mon Aug 18 2008 mrueckert@suse.de +- remove outdated options in the fillup_and_insserv call +* Mon Aug 18 2008 werner@suse.de +- Fix LSB header of kbd init script +* Wed Jun 4 2008 werner@suse.de +- Add "-C" option also to dumpkeys to make kbd init script work on + /dev/console and /dev/tty even within e.g. xterm (bnc#337238) +* Mon May 19 2008 jw@suse.de +- added ru1_win-utf.map fixing bnc#337238 +* Wed May 7 2008 werner@suse.de +- Add description of option -i of showconsolefont (bnc#385200) +- Make showconsolefont option -i work together with option -C +- Add fbtest program and fbtest manual page +* Mon May 5 2008 jw@suse.de +- added fix for bnc#164378 from werner. +* Fri Apr 25 2008 jw@suse.de +- experimental patch for bnc#147581 added. +* Fri Mar 21 2008 sndirsch@suse.de +- kbd.init: MAY_TTY should be tty6 (Bug #302010) +* Thu Feb 21 2008 crrodriguez@suse.de +- use find_lang macro +* Mon Dec 3 2007 jw@suse.de +- fixed bugzilla #153179 by adding new versions of sk-qwertz.map + and sk-qwerty.map from lmichnovic to suse-add.tar.bz2 +- Thus partially obsoleting kbd-1.12-prtscr_no_sigquit.diff and + kbd-1.12-Meta-Tab.diff +* Tue Aug 21 2007 jw@suse.de +- cleaned up setfont according to bugzilla #302010 +* Thu Aug 16 2007 jw@suse.de +- fixed fix of bugzilla #300076 + (fillup_and_insserv is too ugly) +* Tue Aug 14 2007 jw@suse.de +- fixed /etc/sysconfig/keyboard, bugzilla #300076 +* Tue Jul 17 2007 jw@suse.de +- fixed sv-latin1.map, bugzilla #280988 +* Thu Jun 21 2007 dmueller@suse.de +- update 'el' localisation +* Mon Jun 18 2007 jw@suse.de +- sleep 3 removed. bugzilla #284348 +* Sat Jun 16 2007 coolo@suse.de +- as discussed with jw and werner kbd does not need to run before + xdm +* Fri May 11 2007 olh@suse.de +- do not run setfont on ps3 because it permanently blanks the screen +* Thu Mar 29 2007 coolo@suse.de +- BuildRequire flex and bison +* Wed Feb 7 2007 ro@suse.de +- do not build as root +* Mon Oct 23 2006 olh@suse.de +- update mac-de []|{} mapping to match the X11 and MacOS mapping +* Fri Aug 11 2006 jw@suse.de +- mention both /usr/share/X11 and /usr/X11R6/lib/X11 in docu. +* Wed Jul 26 2006 jw@suse.de +- added showconsolefont-info.diff, + partial fix for #164378 +* Wed Jun 21 2006 jw@suse.de +- added some pclose(), fixing (#88501) +* Tue Jun 6 2006 jw@suse.de +- $MAGIC should have been $CONSOLE_MAGIC (#181612) +* Wed May 31 2006 jw@suse.de +- added consolefonts/cp850-full-* (#179528) + derived from cp850 via setfont; loadunimap cp850; setfont -O +* Tue Apr 25 2006 jw@suse.de +- added keymaps/i386/qwerty/cn-latin1.map (#158951) +* Sun Apr 2 2006 olh@suse.de +- make Alt/Option key and Command/Apple key consistent with X11 + in the mac-* keymaps: flip them +* Mon Mar 20 2006 ms@suse.de +- added korean console keyboard link ( korean -> us ) (#87443) +* Tue Feb 7 2006 ms@suse.de +- added khmer console keyboard link ( khmer -> us ) +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Fri Jan 13 2006 schwab@suse.de +- Don't strip binaries. +* Sun Oct 2 2005 schwab@suse.de +- Remove useless distinction between different machines when finding the + keymap. +* Mon Aug 15 2005 jw@suse.de +- mac: fixed support for pc style keymaps + bugzilla#98363 +* Thu Aug 4 2005 jw@suse.de +- sourcing /etc/profile.d/lang.sh for new dynamic language config +* Tue Jul 12 2005 jw@suse.de +- removed Agafari fonts from source tar ball. + bugzilla#95915 +* Thu Jul 7 2005 jw@suse.de +- revamped uninitialized.diff into happy-abuild.diff + added declarations, added RPM_OPT_FLAGS where it was still missing. +* Mon May 23 2005 jw@suse.de +- removing noncommercial Agafari fonts during install. +* Tue May 17 2005 jw@suse.de +- used uninitialized fixed. +* Fri May 13 2005 jw@suse.de +- convert-kbd-mac.sed: changed 58 from 100 to 125, to enable altgr + thanks to olh. +* Thu Mar 31 2005 jw@suse.de +- avoid probing of all /dev/$tty on *iseries*, as it causes + - ENODEV errors. #74394 +* Mon Mar 14 2005 jw@suse.de +- new init script logic: earlykbd + kbd should now behave + as werner designed it (using /var/run/keymap as lock). + Fixes #65246, #71722, #72409 and possibly #65970 +* Tue Mar 8 2005 jw@suse.de +- magic printing second try. + Better diagnostics to tackle #65246 +* Fri Mar 4 2005 jw@suse.de +- less obstrusive magic printing from kbd.init [fixes #65119] +- loadkeys, setfont: neither annoy X-Servers nor print + bogus error messages [fixes #63713, and possibly #65246] +* Tue Dec 14 2004 coolo@suse.de +- adding an early boot script to load the cache created by last + boot. +* Mon Oct 25 2004 jw@suse.de +- new cz-lat2-us.map added, fixing #46829 +* Thu Sep 30 2004 jw@suse.de +- #45972 fixed: missing usbhid module added. +- #46113 workaround: wrong write to /proc/sys/kernel/hotplug removed. +- debug printf for unreproducable PIO_FONT error added. +* Wed Sep 8 2004 werner@suse.de +- Faster boot: skip setleds if nothing is switched on and skip + not needed virtual consoles +* Mon Sep 6 2004 werner@suse.de +- More speed for the boot script by checking the vt's only once +* Wed Mar 31 2004 jw@suse.de +- Bugzilla #37619: force-reload was missing in kbd.init +* Tue Mar 30 2004 mfabian@suse.de, werner@suse.de +- Bugzilla #37367: add option "-C device" to kbd_mode and + change /etc/init.d/kbd script to be able to set the mode for + all console. Previously it worked only on the first console + (/dev/tty1). +* Tue Mar 30 2004 jw@suse.de +- iso09.f16n.psf from toganm@dinamizm.com added. + That fixes bugzilla #37247 +* Wed Mar 3 2004 ro@suse.de +- fix typo in kbd rcscript +* Fri Feb 27 2004 jw@suse.de +- upgrade to 1.12 + * updated getkeycodes, showkey for Linux 2.6 (fixing #33978) + * maps updated: is-latin1.map, is-latin1-us.map, bg-cp1251.map, + bg_bds-cp1251.map, bg_pho-cp1251.map, bg_bds-utf8.map, + bg_pho-utf8.map, nl.map + * renamed bg.map to bg-cp855.map + * fonts: greek-polytonic.psfu + * translations updated: pl.po, ro.po, cs.po, es.po, gr.po, es.po, + nl.po, el.po, pl.po + * new options: -C, openvt -e, + * docu updates. +- fixed #33301, swedish map renamed +* Sat Nov 8 2003 olh@suse.de +- add convert-kbd-mac.sed to convert mac maps to 2.6 linuxkeycodes + load usb drivers unconditionally in runlevel S +* Thu Oct 30 2003 schwab@suse.de +- /etc/init.d/kbd: usbdevfs has been renamed to usbfs, use /proc/bus/usb + instead. +* Fri Oct 17 2003 kukuk@suse.de +- Really delete wrong manual pages +* Fri Oct 17 2003 kukuk@suse.de +- Fix filelist for SPARC +* Wed Oct 1 2003 garloff@suse.de +- #31927: kbdrate was not called due to wrong path. Fixed. +- unicode_start: Collapse to one setfont call (as in initscript). +* Fri Sep 19 2003 garloff@suse.de +- #31153: kbd_mode -a/-u is not good under X11. Skip unicode_start/ + stop dir non-tty devices. +- Collapse setfont calls for font, unimap and screenmap into one. + Otherwise the font is overridden with default8x16 again. +* Tue Sep 16 2003 garloff@suse.de +- Fix bug #30097: When switching from cz-us-qwertz to us, y and + z could be confused. +* Tue Sep 16 2003 garloff@suse.de +- Add compose table compose.utf8 that uses symbolic names and thus + works regardless of encoding. Most useful for UTF-8. +- Fix bug #28481: We were writing the activation string to a read- + only fd. +* Thu Sep 11 2003 mfabian@suse.de +- Bugzilla #30411: redirect "plus before udiaeresis ignored" and + similar warnings of "loadkeys --unicode" in Unicode_start + to /dev/null. +- Bugzilla #30496: don't write file to remember the keyboard + map to /.kbd/.keymap_sv. +- add program "testutf8" by Gerd Knorr to be able + to check whether a terminal is in UTF-8 mode or not. +* Mon Sep 8 2003 mfabian@suse.de +- Bugzilla #28720: "kbd_mode", "setfont", and "fgconsole" have + moved from /usr/bin/ -> /bin. Therefore, /etc/init.d/kbd + stopped working correctly (I thought I had fixed #28720 before + but because these binaries moved it broke again). +* Sun Sep 7 2003 mfabian@suse.de +- save the old keymap in "unicode_start" and reload it in + "unicode_stop" because "dumpkeys | loadkeys --unicode" cannot + be reverted. +* Tue Sep 2 2003 mmj@suse.de +- Add sysconfig metadata [#28855] +* Thu Jul 31 2003 kukuk@suse.de +- serial was renamed to setserial [Bug #28353] +* Thu Jul 31 2003 garloff@suse.de +- Fix dumpkeys fix [#28339]. +* Thu Jul 31 2003 garloff@suse.de +- Fix various DESTDIR ... related Makefile headaches +- Port patches to 1.08, all binaries have been moved to /bin +- Tentative fix for dumpkeys, using the large NR_KEYS from 2.6 + kernel but running on 2.4 [#28339] +- Use RPM_OPT_FLAGS (with -Os appended) +* Wed Jul 30 2003 garloff@suse.de +- Update to kbd-1.08: + * loadkeys: fix for bison 1.50 + * Makefile cleanups + * Patch to not map PrtScr to Ctrl-\ (but only Ctrl-PrtScr) merged + * fi-latin1/9.map changed + * bg-cp1251.map, il-heb.map, sr-cy.map, fr-latin9.map +- Update to kbd-1.07: + * showfont -> showconsolefont rename (clash with X) + * loadkeys fixes: addfunc(), relative symlinks + * getfd: Try devfs names as well + * manpgae for fgconsole + * cyr-sun16.psfu + * swedish: rename to se-latin1.map to sv-latin1.map + * cp1251_to_uni, koi8-r_to_uni, koi8-u_to_uni.trans + * se-fi-* for Northern Sami + * nl3.map -> nl.map +* Fri Jun 6 2003 mfabian@suse.de +- fix Bugzilla #27141: add the necessary commands to setup the + Linux consoles for Unicode or non-Unicode respectively + to /etc/init.d/kbd, similar to what is done in + /usr/sbin/{unicode_start,unicode_stop}. +- remove installed but unpackaged file resizecons.8.gz +* Tue Mar 11 2003 garloff@suse.de +- Add sysconfig metadata to sysconfig/console as well [Bug #22625] +* Sat Mar 8 2003 kukuk@suse.de +- Don't reset the status, so that final result does not only + report the status of the last command [Bug #19823] +* Thu Feb 20 2003 mmj@suse.de +- Add sysconfig metadata [#22625] +* Tue Feb 18 2003 kukuk@suse.de +- Don't set KBD_RATE and KBD_DELAY per default +* Sat Dec 7 2002 garloff@suse.de +- Add compose.latin1.cedilla which is a variant which maps accented + c to cedilla. [Bug #21008] +- Use alarm(5) to limit waiting for (potentially non-existing) kbd + controller instead of loop (with machine-dependent timeout). + [Bug #22167] +* Fri Nov 8 2002 schwab@suse.de +- Fix mac-de-latin1 keymap. +- Fix misaligned columns in full table dump. +- Don't clobber keycode 0 where it is valid. +* Mon Oct 7 2002 garloff@suse.de +- Don't write "Loading " to stdout when --mktable is used. + [Bug #19952] +- Use larger timeout waiting for keyboard controller. +* Wed Sep 18 2002 fehr@suse.de +- add updated keymaps us-acentos.map and br-abnt2.map provided + by miura@conectiva.com.br to suse-add.tar.bz2 (Bug #19791) +* Mon Aug 26 2002 sndirsch@suse.de +- remember NumLock BIOS state in /var/run/numlock-on; required + later for $HOME/.xinitrc (Bug #18248) +* Sat Aug 24 2002 olh@suse.de +- do the symlinks really in mac/all +* Mon Aug 19 2002 garloff@suse.de +- Add %%insserv_prereq and %%fillup_prereq (bug #17892) +* Thu Aug 15 2002 olh@suse.de +- fix some keys with kbd-1.06-mac-dk.diff + do the symlinks in mac/all instead of mac/ +* Sun Aug 4 2002 olh@suse.de +- merge boot.setup into rckbd (#16476) +* Fri Jul 26 2002 garloff@suse.de +- Don't wait infinitely long for bit 1 of port 0x64 being 0. + Blocker #17248. +- Make loadkeys report successful keytable load to stdout instead + of stderr. Bug #17168. +* Wed Jul 24 2002 olh@suse.de +- do not run boot.setup on iSeries by accident, kbdrate is bad +* Fri Jul 19 2002 olh@suse.de +- kbdrate does only work on PC style hardware, hangs on USB and ADB +* Thu Jul 11 2002 garloff@suse.de +- Removed dangling link to www.claudio.ch (bug #16933) +* Fri Jul 5 2002 kukuk@suse.de +- Use %%ix86 macro +* Thu Jul 4 2002 uli@suse.de +- search for x86-64 keymaps in i386 +* Mon Jun 17 2002 sndirsch@suse.de +- sysconfig.keyboard: set KBD_NUMLOCK to "bios" (Bug #16594) +* Fri Jun 14 2002 olh@suse.de +- no loadkezs, sane systems have +* Fri Jun 14 2002 sndirsch@suse.de +- boot.setup: handle Numlock depending on BIOS setting + if KBD_NUMLOCK is set to "bios" +- sysconfig.keyboard: added "bios" to KBD_NUMLOCK description +* Mon Jun 10 2002 garloff@suse.de +- Convert some missing maps. +* Fri Jun 7 2002 garloff@suse.de +- Convert Shift Tab to Meta_Tab. (#16512) +* Thu Jun 6 2002 garloff@suse.de +- Add KBD_DISABLE_CAPS_LOCK feature. +* Thu Jun 6 2002 garloff@suse.de +- Add kbd rate and delay report (#16050). +- Move fbset to X-SuSE-Should-Start. +* Sun Mar 17 2002 garloff@suse.de +- Fixed all i386 keymaps with 99(PtrScr) = Control_backslash + to VoidSymbol (but keeping the old meaning with Control) + Fixes bug #8380. +* Sun Mar 17 2002 garloff@suse.de +- Changed init script to accept a keymap that is specified by + absolute path. (Bug #14997) +* Sun Mar 17 2002 garloff@suse.de +- Add some missing third (AltGr) functions to the number keys + for fr_CH/de_CH-latin and sg-latin1. (Adresses bug #9368) +* Tue Mar 12 2002 olh@suse.de +- load usb keyboard in runlevel s and 1 (#14253) +* Mon Mar 4 2002 garloff@suse.de +- Add Rumanian keyboard layout (ro-latin2.map) donated by + Manfred Pohler. (#13008) +* Fri Mar 1 2002 ro@suse.de +- force activation of boot.setup using "Y" +* Mon Feb 18 2002 ro@suse.de +- don't clobber return code with test +* Thu Feb 14 2002 garloff@suse.de +- Revert chvt change by default, as it causes too much flickering + of the screen. It can be manually enabled though. (#12151) +* Tue Feb 12 2002 ro@suse.de +- added missing "fi" in boot.setup +* Tue Feb 12 2002 schwab@suse.de +- Fix uses of chvt in init script. +* Fri Feb 8 2002 ro@suse.de +- return (not implemented) for stop and (unknown) for status + in boot.setup +* Fri Feb 8 2002 garloff@suse.de +- Split /etc/sysconfig/console into keyboard and console. +* Fri Feb 8 2002 garloff@suse.de +- Move keyboard data to /usr/share (it's not arch dependant) +- Try to make setting console fonts work with non-SuSE kernels + by using chvt. (bug #12151) +* Fri Feb 8 2002 garloff@suse.de +- Remove duplicated data, rename conflicting +- Don't map PrtScr to Control_backslash (SIGQUIT) by default, + Control PrtScr will still produce it. (bug #8380) +- Remove test for "none" ifr unicode and screenmaps ("none" can be + different from not calling setfont) +- Handle empty KEYTABLE (fixes bug #12976) +- Clarified comments for the various CONSOLE settings +* Fri Feb 8 2002 garloff@suse.de +- kbd-1.06: + * Lots of our patches got merged :-) + * Fonts added + * lat7u.uni -> iso07u.uni, added lat7.uni + * Scancode docs removed, see + http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html + * various minor corrections +* Wed Feb 6 2002 werner@suse.de +- Add KBD_SCRLOCK variable to make it possible to enable this +- Move setleds from /usr/bin to /sbin and set compatiblity symlink + (mainly for infra red keyboards) +* Sat Jan 12 2002 garloff@suse.de +- Move COMPOSETASBLE to /etc/sysconfig/console, where all the other + console and keyboard related settings are. +* Wed Jan 9 2002 ro@suse.de +- fixed typo in boot.setup +* Tue Jan 8 2002 ro@suse.de +- moved COMPOSETABLE to /etc/sysconfig/keyboard (#12736) +* Wed Dec 12 2001 ro@suse.de +- moved rc.config.d -> sysconfig +* Tue Dec 11 2001 schwab@suse.de +- Fix boot script for last change. +* Wed Dec 5 2001 ro@suse.de +- renamed rc.config.d.kbd to rc.config.d.console +- fixed bug for ppc +* Wed Dec 5 2001 ro@suse.de +- moved KBD related variables from aaa_base to here +- moved boot.setup from aaa_base to here +- use fillup_and_insserv macro +* Fri Nov 30 2001 olh@suse.de +- handle the ppc64 in machine detection +* Mon Sep 17 2001 garloff@suse.de +- Add loadkezs->loadkeys symlink (#10752) +* Fri Aug 31 2001 olh@suse.de +- no keyboard on iSeries available +* Wed Aug 29 2001 olh@suse.de +- allow querty/us.map.gz as KEYTABLE, fix mac-dk map +* Wed Aug 8 2001 olh@suse.de +- handle ppc64 in KBDLIB path as i386 +* Mon Aug 6 2001 kukuk@suse.de +- Fix comment about init script location [Bug #9494] +* Sat Jul 21 2001 olh@suse.de +- update search path for mac keymaps +* Tue Jul 17 2001 garloff@suse.de +- changed return value of status to 3 if not running. Fixes + bug #9052. +* Wed Jul 11 2001 bjacke@suse.de +- switch , to . on number block for {de,fr}_CH keymaps +* Sun Jun 17 2001 schwab@suse.de +- setfont: output activation string on selected console, not stdout. +* Fri May 11 2001 garloff@suse.de +- Remove compose combinations from compose.latin1.add that have + been merged into the official compose.latin1. +* Fri May 11 2001 garloff@suse.de +- bzip2 sources. +* Fri May 11 2001 garloff@suse.de +- Apply fixes to kbd iint script from Werner Fink: + * Dump keymap to /etc/defkeymap after the compose table has been + loaded. Do it whenever it changed. + * In runlevels N, S, 1, we might not have /usr available. + Don't issue tons of "failed" messages but be happy with + defkeymap. +* Tue May 8 2001 garloff@suse.de +- Remove redundant sun keymaps from suse-add. +- Especially remove sunkeymap which reintroduces a fixed bug to kbd +- Remove second .map from sunt4-no-latin1.map.map +* Tue May 8 2001 garloff@suse.de +- On request of Andries (aeb): Removed the Shift-Ctrl mapping + of Compose but instead put it on Ctrl-. +- Added compose.ctrlperiod to achieve this. +* Sun May 6 2001 garloff@suse.de +- Remove double fontwidth assignment (cosmetical) +- Add fbset to init script prerequisites +* Wed May 2 2001 garloff@suse.de +- Fix bug #7474: (defkeymap) + keycode 97 = Control Compose is wrong. Use shift keycode ... +- Make Shift-Ctrl and Ctrl-Shift behave the same +- bzip2 the suse_add sources instead of gzip +* Wed Apr 25 2001 garloff@suse.de +- Corrections to the file list: + * Install fg_console + * Install unicode_start/stop plus manpages + * Don't install resizecons/manpage on non-i386 archs +* Tue Apr 24 2001 garloff@suse.de +- correct y <-> z in mac-de_CH has erroneously been removed from + last patch. Corrected. +* Tue Apr 24 2001 garloff@suse.de +- Use KBD_TTY to determine which consoles need to be manipulated, + not non-functional /dev/tty[1-24]. +* Mon Apr 23 2001 garloff@suse.de +- Add some sun keymaps from console-data to suse_add. (#6109) +- Add original sun12x22.psfu and suse12x22 under its true name. +* Mon Apr 23 2001 garloff@suse.de +- Finalized merging with 1.05: SuSE patch shrinked from 116k to + 9k :-) +- fillup now defaults to clear the compose table in case one is + loaded and gives some more examples. +- Set font on all consoles /dev/tty[1-24] (bugzilla #5812) +- install kbd_fonts before kbd, so the latter has the possibility + to overwrite/update the fonts from the kbd_fonts pack +* Sun Apr 22 2001 bjacke@suse.de +- correct y <-> z in mac-de_CH +- add mac_dvorak keymap +- move de_CH from qwerty to qwertz +* Fri Apr 20 2001 garloff@suse.de +- Update to kbd-1.0.5 which incorporates the patches from olh and + me. +* Thu Mar 15 2001 ro@suse.de +- create directory sbin in buildroot +* Sun Dec 17 2000 garloff@suse.de +- Fix lat5 fonts +- ShiftCtrl now leaves the Ctrl scancodes untouched and just + changes the ShiftCtrl meaning to Compose. +* Wed Dec 13 2000 olh@suse.de +- use runlevel S and mount proc with -n +* Fri Dec 8 2000 schwab@suse.de +- Use extended compose table also on ia64. +- Fix typos. +* Thu Dec 7 2000 werner@suse.de +- Add begin and end mark of LSB header +- Move chvt, openvt, deallocvt to /bin and set link bak to /usr/bin +* Wed Dec 6 2000 garloff@suse.de +- Argh: loadkeys does not merge the compose table; just the key + definitions. Make compose.latin1.add include compose.latin1 and + update docu accordingly to account for this. +* Wed Dec 6 2000 garloff@suse.de +- Also include the mapping of the compose key in the COMPOSEMAP + variable and offer winkeys and shiftctrl. Default on i386 and + alpha. +- Update README.SuSE to document this. +- This together with the changes from Dec 4 should address the + problems with some keytables (bug #4275). +* Tue Dec 5 2000 olh@suse.de +- add mac-fr_CH.map +* Mon Dec 4 2000 garloff@suse.de +- New startup script: Separate KEYMAP from COMPOSE maps. Add new + rc.config variable COMPOSEMAP to allow setting of compose combi- + nations defaulting to "latin1 latin1.add" +- Disable the formerly patched in inclusion of compose maps in + the keymaps, as we have a proper separation now. +* Mon Dec 4 2000 garloff@suse.de +- Add de_CH ("schwyzerdütsch") keymap. +- Initialize consoles 1-24 (instead of 1-6) with CONSOLE_MAGIC + (Bugzilla #4468) +* Tue Nov 28 2000 kukuk@suse.de +- New initscript in /etc/init.d +* Fri Oct 20 2000 kukuk@suse.de +- Fix filelist on SPARC +* Thu Oct 5 2000 olh@suse.de +- remove mac-de2-ext.map, obsolete +* Thu Oct 5 2000 olh@suse.de +- check for /proc/cpuinfo before mounting proc +* Tue Sep 12 2000 olh@suse.de +- mount proc on ppc, needed for runlevel S +* Tue Aug 22 2000 olh@suse.de +- update spec file and use only one dif, add mac-pt map, fix maps +* Sat Aug 5 2000 garloff@suse.de +- Only include kbdrate in kbd package, if it's not already in util + If not, install it in /sbin, just like util did before. +- Remove the README files and ERRORS from /usr/lib/kbd/consolefonts +* Fri Aug 4 2000 kukuk@suse.de +- Add support for PS/2 keyboards and serial console on SPARC +* Tue Aug 1 2000 garloff@suse.de +- Update to version 1.03wip adding support for a PSF format and + UTF8, including sequences. +- Apply old patches; split in mac keytables and general patch +- Add support for fonts wider than 8 pixels +- Map compose key (W*n95 Menu Key and Shift-RightCtrl) and include + additional compose combinations for i386 us and de keymaps +- Add suse12x22.psf font to suse-add.tar.gz and remove fonts, map, + transtables that are already included in 1.03wip. +- Add %%clean section to spec file +- Install more docu and move font specific docu to a subdir +- Add README.SuSE +* Mon Jul 3 2000 olh@suse.de +- merge keymaps from 6.4 for mac, be,it,de_CH,fi,dk +* Tue Jun 6 2000 olh@suse.de +- fix mac specific links to nonexistant maps, + add mac/include to search path +* Wed May 31 2000 werner@suse.de +- Import script code from boot.setup which is kbd specific +- User new rc.status shell functions +- Move S20kbd to S10kbd (after nfs import init) +* Thu May 25 2000 olh@suse.de +- update us-map, get rid of misnamed maps + use includes for mac-* +* Mon May 8 2000 wede@suse.de +- suse-add: Lithuanian console fonts and mappings added: + /usr/lib/kbd/consolefonts/lat7.psf.gz + /usr/lib/kbd/consolefonts/lt-brim-8x14.psfu.gz + /usr/lib/kbd/consoletrans/lt-brim.uni +- kbd.spec: use of %%{_defaultdocdir} +* Sun Apr 30 2000 olh@suse.de +- update mac-fr.map +* Wed Apr 5 2000 olh@suse.de +- fix link to french mac map +* Tue Mar 28 2000 olh@suse.de +- use Buildroot + add some dummy maps for mac +* Mon Mar 20 2000 kukuk@suse.de +- suse-add: Add more sun keymaps +* Thu Mar 16 2000 schwab@suse.de +- kbd.rc: Use i386 keymaps also on ia64 and alpha. +* Tue Feb 29 2000 werner@suse.de +- Close first part of bug #592 + * Search with shell tools not with find + * Dump /etc/defkeymap.map if not exists + * Use /etc/defkeymap.map as a fallback if no keymap is found +- Move loadkeys from /usr/bin/ to /bin/ and set a symbolic link + for backward compatibility +- Add openvt to the file list +* Sun Feb 27 2000 kukuk@suse.de +- Move /usr/man -> /usr/share/man +* Thu Dec 9 1999 olh@suse.de +- Added i386 keys to mac-de.map, @|\~ + make Symlink mac -> ppc relative +* Thu Nov 11 1999 kukuk@suse.de +- kbd.rc: Add support for SPARC. +* Tue Sep 28 1999 ml@suse.de +- Added symlink keymaps/ppc -> keymaps/mac in specfile. + Added lat9-[12,14,16].psfu consolefonts to suse_add.tar.gz +* Mon Sep 13 1999 bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Thu Jul 1 1999 ro@suse.de +- don't try to write /var/run/keymap if mounted ro (closing bug 20) +* Fri Jun 18 1999 uli@suse.de +- cleaned up patch +* Wed Jun 16 1999 uli@suse.de +- patched de-latin1.map to allow usage of Euro symbol with + lat0-* console fonts +* Mon Jun 7 1999 uli@suse.de +- added br-abnt.map and us-acentos.map to suse-addon +* Mon Apr 12 1999 ml@suse.de +- added lt.baltic.map to suse-addon +* Sun Apr 11 1999 ml@suse.de +- added a patch for correct KOI8-U (Ukrainian) support +- added screenmap for baltic to suse-addon +* Tue Apr 6 1999 ml@suse.de +- added a patch harald könig for us.map +* Mon Apr 5 1999 ml@suse.de +-switch to version 0.99; main change of package: gettext for nls-support +-changes for us: removes the patches for sk-qwertz and sk-qwerty map + and the map br-abnt2.map (included now) +-added /usr/share/locale/*/LC_MESSAGES/kbd.mo to the %%files-section + of the specfile for nls-support +* Thu Mar 11 1999 ml@suse.de +- Changed to kbd-0.97 +- lat2u.uni -> now included -> removed from suse-diff +- Pl02.map included into suse-addons and removed from diff +- Same for br-abnt2.map +- added ru3/4 map to suse-addon +- renamed the suse-iso07-extensions to lat7u.* +- removed #mkdir -p $DOC; #mv $K/consolefonts/README* $DOC/ " + from specfile; now already included in kbd-0.97-makefile +- added ./configure --datadir (which will be best?) +- european default now lat1-16.psfu -> mantel & fehr +- added Cyr_a*.psf* to suse-addons, removed old Cyr-files and set links +- added cyralt.uni +- patched sk-qwertz and sk-qwerty map +* Mon Feb 1 1999 ro@suse.de +- resizecons is not built on alpha +* Mon Jan 18 1999 ml@suse.de +- added finally iso07.uni (missed it on Fri Jan 8 10:28:24 MET 1999) + To do this, two mv-commands in the spec-file have been added, that move + iso.07.uni to iso07.uni.old and the new one to iso07.uni +* Wed Jan 13 1999 ml@suse.de +- added latin2u.scrnmap +- added sk-qwertz.map +* Fri Jan 8 1999 ml@suse.de +- added lat2u-16.psf and lat2u.uni +* Fri Jan 8 1999 rolf@suse.de +- added the following keymaps: br-abnt2, Pl02, sk-qwerty +- added the new version of iso07 fonts with SuSE extensions including + unicode map file +* Sun Dec 13 1998 bs@suse.de +- removed /var/adm/setup/setup.fontconfig +* Sat Dec 5 1998 bs@suse.de +- let start script say, that a "keymap" is loaded. +* Thu Nov 26 1998 bs@suse.de +- made startup script a little bit smoother (let loadkeys not print + a long path). +* Thu Nov 19 1998 bs@suse.de +- fixed second find call. +* Tue Nov 17 1998 bs@suse.de +- moved loadkeys to /usr/bin again (the kbd package does not work without + a mounted /usr) +- created /sbin/init.d/kbd +- removed Makefile.Linux - was not used anymore :( +* Thu Oct 29 1998 ro@suse.de +- output "Loading $KEYMAP" to stdout (not stderr) +* Tue Sep 22 1998 ro@suse.de +- update to 0.96a +- for glibc define _GNU_SOURCE where getopt is used +* Mon Oct 20 1997 ro@suse.de +- ready for autobuild +* Tue Jun 3 1997 bs@suse.de +- removed man page console.4.gz (included in ldpman) +* Sun Apr 13 1997 florian@suse.de +- update to new version 0.93 +- mv documentation to /usr/doc diff --git a/kbd.spec b/kbd.spec new file mode 100644 index 0000000..cd7186a --- /dev/null +++ b/kbd.spec @@ -0,0 +1,530 @@ +# +# spec file for package kbd +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif + +%define legacy_folders amiga,atari,i386,include,mac,ppc,sun + +Name: kbd +Version: 2.4.0 +Release: 150400.5.3.1 +Summary: Keyboard and Font Utilities +# git: git://git.altlinux.org/people/legion/packages/kbd.git +License: GPL-2.0-or-later +Group: System/Console +URL: http://kbd-project.org/ +# repack_kbd.sh on https://www.kernel.org/pub/linux/utils/kbd/kbd-%%{version}.tar.xz +Source: %{name}-%{version}-repack.tar.xz +Source1: kbd_fonts.tar.bz2 +Source2: suse-add.tar.bz2 +Source3: README.SUSE +Source4: vlock.pamd +Source8: sysconfig.console +Source9: sysconfig.keyboard +Source11: fbtest.c +Source12: fbtest.8 +Source15: cz-map.patch +Source20: kbdsettings +Source21: kbdsettings.service +Source22: numlockbios.c +Source42: convert-kbd-mac.sed +Source43: repack_kbd.sh +Source44: xml2lst.pl +Source45: genmap4systemd.sh +Patch0: kbd-1.15.2-prtscr_no_sigquit.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-libkfont-Initialize-kfont_context-options.patch +Patch2: kbd-1.15.2-unicode_scripts.patch +Patch3: kbd-1.15.2-docu-X11R6-xorg.patch +Patch4: kbd-1.15.2-sv-latin1-keycode10.patch +Patch6: kbd-1.15.2-dumpkeys-C-opt.patch +Patch9: kbd-2.0.2-comment-typo-qwerty.patch +Patch10: kbd-2.0.2-doshell-reference.patch +Patch11: kbd-2.0.2-euro-unicode.patch +Patch12: kbd-2.0.2-fix-bashisms.patch +# Patch13: adds xkb and legacy keymaps subdirs to loadkyes search path +# (openSUSE FATE#318355, sle FATE#318426) +Patch13: kbd-1.15.5-loadkeys-search-path.patch +# PATCH-FEATURE-OPENSUSE kbdsettings-nox86.patch sbrabec@suse.cz -- Disable "bios" option for NumLock settings on non x86 platforms. +Patch14: kbdsettings-nox86.patch +# PATCH-FIX-SLE kbd-unicode-fxxx.patch sbrabec@suse.com bsc1085432 -- Do not cause error on UNICODE characters >= 0xF000 (e. g. ligature fi) +Patch15: kbd-unicode-fxxx.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: bison +BuildRequires: check-devel +BuildRequires: console-setup +BuildRequires: fdupes +BuildRequires: flex +BuildRequires: gcc >= 4.6 +BuildRequires: libtool +BuildRequires: pam-devel +BuildRequires: pkgconfig +BuildRequires: suse-module-tools +BuildRequires: xkeyboard-config +BuildRequires: xz +# Temporarily require -legacy +Requires: %{name}-legacy = %{version}-%{release} +Requires(post): coreutils +Requires(postun):coreutils +Requires(pre): %fillup_prereq +Provides: vlock = 2.2.3 +Obsoletes: vlock <= 2.2.3 + +%description +Load and save keyboard mappings. This is needed if you are not using +the US keyboard map. This package also contains utilities for changing +your console fonts. If you install this package, YaST includes an extra +menu to allow you to choose between the different fonts. This package +also includes fonts from the kbd_fonts.tar.gz package (by Paul +Gortmaker) on Sunsite. + +%package legacy +Summary: Legacy data for kbd package +Group: System/Console +BuildArch: noarch + +%description legacy +The %{name}-legacy package contains original keymaps for kbd package. +Please note that %{name}-legacy is not helpful without kbd. + +%define kbd %{_datadir}/kbd + +%prep +%setup -q -a 1 -a 2 -n kbd-%{version} + +cp -fp %{SOURCE8} . +cp -fp %{SOURCE9} . +cp -fp %{SOURCE44} . +cp -fp %{SOURCE45} . +cp -fp %{SOURCE20} . +cp -fp %{SOURCE21} . +cp -fp %{SOURCE22} . +%patch0 -p1 +%patch1 -p1 +%patch2 +%patch3 +%patch4 -p1 +%patch6 +%patch9 +%patch10 +%patch11 +%patch12 -p1 +%patch13 -p1 +%ifnarch %{ix86} x86_64 +%patch14 -p0 +%endif +%patch15 -p1 + +%build +for i in `find data/keymaps/mac -type f` ; do +sed -i -f %{SOURCE42} $i +done +# workaround ambiguous keymap names +pushd data/keymaps/i386 + # bnc#48301 + test -f qwerty/se-latin1.map || cp qwerty/sv-latin1.map qwerty/se-latin1.map + # bnc#435121 + test -f olpc/es-olpc.map || mv olpc/es.map olpc/es-olpc.map + # Rename conflicting keymaps, as Fedora do + #test -f dvorak/no.map || mv dvorak/no.map dvorak/no-dvorak.map + test -f fgGIod/trf.map || mv fgGIod/trf.map fgGIod/trf-fgGIod.map + test -f olpc/pt.map || mv olpc/pt.map olpc/pt-olpc.map + test -f qwerty/cz.map || mv qwerty/cz.map qwerty/cz-qwerty.map +popd +./autogen.sh +%configure \ + --disable-silent-rules \ + --datadir=%{kbd} \ + --enable-nls \ + --localedir=%{_datadir}/locale \ + --enable-optional-progs \ + --disable-static +make %{?_smp_mflags} +gcc %{optflags} -o fbtest $RPM_SOURCE_DIR/fbtest.c +%ifarch %{ix86} x86_64 +gcc %{optflags} -o numlockbios $RPM_SOURCE_DIR/numlockbios.c +%endif +# fix lat2-16.psfu (bnc#340579) +font=data/consolefonts/lat2a-16.psfu +./src/psfxtable -i $font -it data/unimaps/lat2u.uni \ + -o t.psfu +mv t.psfu $font +make %{?_smp_mflags} + +%install +mkdir -p %{buildroot}%{_sbindir} +DOC=%{buildroot}%{_defaultdocdir}/kbd +KBD=%{kbd} +K=%{buildroot}$KBD +mkdir -p $K/consolefonts +# First install the fonts from the vfont package +# (allowing kbd to overwrite some of them) +mkdir -p $DOC/fonts +install -m 644 fonts/README $DOC/fonts/README.fonts +install -m 644 fonts/vfont-4.36/README $DOC/fonts/README.vfont-4.36 +install -m 644 fonts/vfont-5.10/README $DOC/fonts/README.vfont-5.10 +install -m 644 fonts/vfont-5.10/SCRIPT $DOC/fonts/SCRIPT.vfont-5.10 +rm -f fonts/vfont-5.10/SCRIPT fonts/*/README +install -m 644 fonts/*/* $K/consolefonts/ +# Now call kbd install +echo "# Now call kbd install DESTDIR=%{buildroot} DATA_DIR=%{kbd} MAN_DIR=%{_mandir}" +make DESTDIR=%{buildroot} DATA_DIR=%{kbd} MAN_DIR=%{_mandir} install +# ln -s iso01-12x22.psfu $K/consolefonts/suse12x22.psfu +install -m 644 data/consolefonts/README* $DOC/fonts/ +mkdir -p $DOC/doc/ +install -m 644 docs/doc/keysyms.h.info docs/doc/kbd.FAQ.txt docs/doc/kbd.FAQ*.html docs/doc/README* docs/doc/TODO $DOC/doc/ +install -m 644 docs/doc/as400.kbd docs/doc/console.docs docs/doc/repeat/set_kbd_repeat-2 $DOC/doc/ +echo "See %{_datadir}/i18/charmaps for a description of char maps" >$DOC/doc/README.charmaps +install -m 644 ChangeLog CREDITS README $DOC/ +install -m 644 %{SOURCE3} $DOC/ +rm -f $K/consolefonts/README* $K/consolefonts/ERRORS.gz +if ls $K/consolefonts/Agafari-* > /dev/null 2>&1; then + echo ""; + echo "ERROR: Ethiopian Agafari fonts are for noncommercial distribution only." + echo "please run repack_kbd.sh"; + echo ""; + exit 1 +fi +ln -sf us.map.gz $K/keymaps/i386/qwerty/khmer.map.gz +ln -sf us.map.gz $K/keymaps/i386/qwerty/korean.map.gz +ln -sf us.map.gz $K/keymaps/i386/qwerty/arabic.map.gz +ln -sf us.map.gz $K/keymaps/i386/qwerty/ir.map.gz +ln -sf us.map.gz $K/keymaps/i386/qwerty/chinese.map.gz +ln -sf us.map.gz $K/keymaps/i386/qwerty/taiwanese.map.gz +ln -sf sr-cy.map.gz $K/keymaps/i386/qwerty/sr-latin.map.gz +# Compatability links; don't know what the first three are good for. +# The others are for yast/langselection and should be removed as soon as +# yast knows about it. +#ln -sf de-latin1-nodeadkeys.map.gz \ +# $K/keymaps/i386/qwertz/de-lat1-nd.map.gz +#ln -sf ru1.map.gz $K/keymaps/i386/qwerty/russian.map.gz +#ln -sf sg-latin1-lk450.map.gz \ +# $K/keymaps/i386/qwertz/sg-l1-lk450.map.gz +# The next two links are for yast-language choise; should be obsolete +# with the next yast version (on 6.1) +#ln -sf lat1-16.psfu.gz $K/consolefonts/lat1u-16.psf.gz +#ln -sf lat2-16.psfu.gz $K/consolefonts/lat2u-16.psf.gz +# +# This is for stupid default font search +rm -f $K/consolefonts/default8x16.gz +ln -sf default8x16.psfu.gz $K/consolefonts/default8x16.gz +# +rm -f $K/keymaps/i386/qwerty/*~ $K/keymaps/i386/qwerty/*,v +# +# this is until the Cyr* font are not part of the package +rm -f $K/consolefonts/Cyr_a8x14.gz +ln -sf Cyr_a8x14.psfu.gz $K/consolefonts/Cyr_a8x14.gz +rm -f $K/consolefonts/Cyr_a8x16.gz +ln -sf Cyr_a8x16.psfu.gz $K/consolefonts/Cyr_a8x16.gz +rm -f $K/consolefonts/Cyr_a8x8.gz +ln -sf Cyr_a8x8.psfu.gz $K/consolefonts/Cyr_a8x8.gz +# +find $K -name \*.orig | xargs -r rm -vf +# add some missing maps to mac and remap french board +( +cd $K/keymaps/mac/all +pwd +#ln -s mac-fr-latin1.map.gz mac-fr_CH-latin1.map.gz +#ln -s mac-fr-latin1.map.gz mac-fr.map.gz +for i in \ + mac-es.map.gz \ + mac-it.map.gz \ + mac-pt-latin1.map.gz \ + mac-br-abnt2.map.gz \ + mac-gr.map.gz \ + mac-dk-latin1.map.gz \ + mac-no-latin1.map.gz \ + mac-fi-latin1.map.gz \ + mac-cz-us-qwertz.map.gz \ + mac-hu.map.gz \ + mac-Pl02.map.gz \ + mac-ru1.map.gz \ + mac-jp106.map.gz +do test -f $i || ln -sv mac-us.map.gz $i +done +) +FILLUP_DIR=%{buildroot}%{_fillupdir} +mkdir -p $FILLUP_DIR +install -m 644 sysconfig.console $FILLUP_DIR/sysconfig.console +install -m 644 sysconfig.keyboard $FILLUP_DIR/sysconfig.keyboard +%ifnarch %{ix86} x86_64 + rm -f %{buildroot}%{_mandir}/man8/resizecons.8* +%endif +%ifarch %{sparc} m68k +rm -f %{buildroot}%{_mandir}/man8/getkeycodes.8* +rm -f %{buildroot}%{_mandir}/man8/setkeycodes.8* +%endif +install -m 755 fbtest %{buildroot}%{_sbindir} +%ifarch %{ix86} x86_64 +install -d %{buildroot}%{_libexecdir}/%{name} +install -m 755 numlockbios %{buildroot}%{_libexecdir}/%{name} +%endif +%if %{defined _distconfdir} +rm -rf %{buildroot}%{_sysconfdir}/pam.d +install -d %{buildroot}%{_distconfdir}/pam.d +install -m 644 %{SOURCE4} %{buildroot}%{_distconfdir}/pam.d/vlock +%else +install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/pam.d/vlock +%endif +install -m 644 %{SOURCE12} %{buildroot}%{_mandir}/man8/ +%if !0%{?usrmerged} +mkdir -p %{buildroot}/bin +mkdir -p %{buildroot}/sbin +ln -s %{_bindir}/chvt %{buildroot}/bin +ln -s %{_bindir}/clrunimap %{buildroot}/bin +ln -s %{_bindir}/deallocvt %{buildroot}/bin +ln -s %{_bindir}/dumpkeys %{buildroot}/bin +ln -s %{_bindir}/fgconsole %{buildroot}/bin +ln -s %{_bindir}/getunimap %{buildroot}/bin +ln -s %{_bindir}/kbd_mode %{buildroot}/bin +ln -s %{_bindir}/kbdinfo %{buildroot}/bin +ln -s %{_bindir}/kbdrate %{buildroot}/bin +ln -s %{_bindir}/loadkeys %{buildroot}/bin +ln -s %{_bindir}/loadunimap %{buildroot}/bin +ln -s %{_bindir}/mapscrn %{buildroot}/bin +ln -s %{_bindir}/openvt %{buildroot}/bin +ln -s %{_bindir}/outpsfheader %{buildroot}/bin +ln -s %{_bindir}/psfaddtable %{buildroot}/bin +ln -s %{_bindir}/psfgettable %{buildroot}/bin +ln -s %{_bindir}/psfstriptable %{buildroot}/bin +ln -s %{_bindir}/psfxtable %{buildroot}/bin +ln -s %{_bindir}/screendump %{buildroot}/bin +ln -s %{_bindir}/setfont %{buildroot}/bin +ln -s %{_bindir}/setleds %{buildroot}/bin +ln -s %{_bindir}/setlogcons %{buildroot}/bin +ln -s %{_bindir}/setmetamode %{buildroot}/bin +ln -s %{_bindir}/setpalette %{buildroot}/bin +ln -s %{_bindir}/setvesablank %{buildroot}/bin +ln -s %{_bindir}/setvtrgb %{buildroot}/bin +ln -s %{_bindir}/showconsolefont %{buildroot}/bin +ln -s %{_bindir}/showkey %{buildroot}/bin +ln -s %{_bindir}/spawn_console %{buildroot}/bin +ln -s %{_bindir}/spawn_login %{buildroot}/bin +ln -s %{_bindir}/unicode_start %{buildroot}/bin +ln -s %{_bindir}/unicode_stop %{buildroot}/bin +ln -s %{_sbindir}/fbtest %{buildroot}/sbin +%ifnarch %{sparc} m68k +ln -s %{_bindir}/getkeycodes %{buildroot}/bin +ln -s %{_bindir}/setkeycodes %{buildroot}/bin +%endif +%ifarch %{ix86} x86_64 +ln -s %{_bindir}/resizecons %{buildroot}/bin +%endif +%endif + +# Make sure Perl has a locale where uc/lc works for unicode codepoints +# see e.g. https://perldoc.perl.org/perldiag.html#Wide-character-(U%2b%25X)-in-%25s +export LC_ALL=C.utf-8 +# Convert X keyboard layouts to console keymaps +mkdir -p %{buildroot}%{kbd}/keymaps/xkb +perl xml2lst.pl < %{_datadir}/X11/xkb/rules/base.xml > layouts-variants.lst +while read line; do + XKBLAYOUT=`echo "$line" | cut -d " " -f 1` + echo "$XKBLAYOUT" >> layouts-list.lst + XKBVARIANT=`echo "$line" | cut -d " " -f 2` + ckbcomp "$XKBLAYOUT" "$XKBVARIANT" > /tmp/"$XKBLAYOUT"-"$XKBVARIANT".map + # skip converted layouts which cannot input ASCII (rh#1031848) + grep -q "U+0041" /tmp/"$XKBLAYOUT"-"$XKBVARIANT".map && \ + gzip -cn9 /tmp/"$XKBLAYOUT"-"$XKBVARIANT".map > %{buildroot}%{kbd}/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz + rm /tmp/"$XKBLAYOUT"-"$XKBVARIANT".map +done < layouts-variants.lst + +# Convert X keyboard layouts (plain, no variant) +cat layouts-list.lst | sort -u >> layouts-list-uniq.lst +while read line; do + ckbcomp "$line" > /tmp/"$line".map + grep -q "U+0041" /tmp/"$line".map && \ + gzip -cn9 /tmp/"$line".map > %{buildroot}%{kbd}/keymaps/xkb/"$line".map.gz + rm /tmp/"$line".map +done < layouts-list-uniq.lst + +# Rename the converted default fi (kotoistus) layout (rh#1117891) +mv %{buildroot}%{kbd}/keymaps/xkb/fi.map.gz %{buildroot}%{kbd}/keymaps/xkb/fi-kotoistus.map.gz + +# Fix converted cz layout - add compose rules (rh#1181581) +gunzip %{buildroot}%{kbd}/keymaps/xkb/cz.map.gz +patch %{buildroot}%{kbd}/keymaps/xkb/cz.map < %{SOURCE15} +gzip -n9 %{buildroot}%{kbd}/keymaps/xkb/cz.map + +# Generate entries for systemd's /usr/share/systemd/kbd-model-map +mkdir -p %{buildroot}%{_datadir}/systemd +sh ./genmap4systemd.sh %{buildroot}%{kbd}/keymaps/xkb \ + > %{buildroot}%{_datadir}/systemd/kbd-model-map.xkb-generated + +install -m0755 kbdsettings %{buildroot}%{_sbindir}/ +install -d %{buildroot}%{_prefix}/lib/systemd/system +install -m0644 kbdsettings.service %{buildroot}%{_prefix}/lib/systemd/system + +%fdupes -s %{buildroot}%{_datadir} + +%find_lang %{name} + +%pre +%{service_add_pre kbdsettings.service} +# move outdated pam.d/*.rpmsave files away +test -f /etc/pam.d/vlock.rpmsave && mv -v /etc/pam.d/vlock.rpmsave /etc/pam.d/vlock.rpmsave.old ||: + +%post +%{fillup_only -n console} +%{fillup_only -n keyboard} +# Variables deleted before Leap 15 and SLE 15 +%{remove_and_set -n keyboard KEYTABLE COMPOSETABLE} +%ifnarch %{ix86} x86_64 +# "bios" was accepted but ingnored on non-x86 platforms up to Leap 42.* and SLE 12.* +sed -i 's/^KBD_NUMLOCK="bios"/KBD_NUMLOCK="no"/' /etc/sysconfig/keyboard +%endif +%{service_add_post kbdsettings.service} +%{?regenerate_initrd_post} + +%preun +%{service_del_preun kbdsettings.service} + +%postun +%{service_del_postun kbdsettings.service} +%{?regenerate_initrd_post} + +%posttrans +%{?regenerate_initrd_posttrans} +# Migration to /usr/etc. +test -f /etc/pam.d/vlock.rpmsave && mv -v /etc/pam.d/vlock.rpmsave /etc/pam.d/vlock ||: + +%files -f %{name}.lang +#config(noreplace) /etc/sysconfig/console +%license LICENSE +%doc %{_defaultdocdir}/kbd +#doc CHANGES README CREDITS +%{_fillupdir}/sysconfig.console +%{_fillupdir}/sysconfig.keyboard +%{kbd} +%exclude %{kbd}/keymaps/{%{legacy_folders}} +%if !0%{?usrmerged} +/sbin/fbtest +/bin/chvt +/bin/openvt +/bin/deallocvt +/bin/dumpkeys +%ifnarch %{sparc} m68k +/bin/getkeycodes +/bin/setkeycodes +%endif +/bin/fgconsole +/bin/kbd_mode +/bin/kbdinfo +/bin/loadkeys +/bin/loadunimap +/bin/mapscrn +/bin/psfaddtable +/bin/psfgettable +/bin/psfstriptable +/bin/psfxtable +%ifarch %{ix86} x86_64 +/bin/resizecons +%endif +/bin/setfont +/bin/setleds +/bin/setmetamode +/bin/setvtrgb +/bin/showconsolefont +/bin/showkey +/bin/unicode_start +/bin/unicode_stop +/bin/kbdrate +/bin/clrunimap +/bin/getunimap +/bin/outpsfheader +/bin/screendump +/bin/setlogcons +/bin/setpalette +/bin/setvesablank +/bin/spawn_console +/bin/spawn_login +%endif +%{_sbindir}/fbtest +%{_bindir}/chvt +%{_bindir}/openvt +%{_bindir}/deallocvt +%{_bindir}/dumpkeys +%ifnarch %{sparc} m68k +%{_bindir}/getkeycodes +%{_bindir}/setkeycodes +%endif +%{_bindir}/fgconsole +%{_bindir}/kbd_mode +%{_bindir}/kbdinfo +%{_bindir}/loadkeys +%{_bindir}/loadunimap +%{_bindir}/mapscrn +%{_bindir}/psfaddtable +%{_bindir}/psfgettable +%{_bindir}/psfstriptable +%{_bindir}/psfxtable +%ifarch %{ix86} x86_64 +%{_bindir}/resizecons +%endif +%{_bindir}/setfont +%{_bindir}/setleds +%{_bindir}/setmetamode +%{_bindir}/setvtrgb +%{_bindir}/showconsolefont +%{_bindir}/showkey +%{_bindir}/unicode_start +%{_bindir}/unicode_stop +%{_bindir}/kbdrate +%{_bindir}/clrunimap +%{_bindir}/getunimap +%{_bindir}/outpsfheader +%{_bindir}/screendump +%{_bindir}/setlogcons +%{_bindir}/setpalette +%{_bindir}/setvesablank +%{_bindir}/spawn_console +%{_bindir}/spawn_login +%{_bindir}/vlock +%ifarch %{ix86} x86_64 +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/numlockbios +%endif +%{_mandir}/man1/* +%{_mandir}/man5/keymaps.5%{ext_man} +%ifnarch %{sparc} m68k +%{_mandir}/man8/getkeycodes.8%{ext_man} +%{_mandir}/man8/setkeycodes.8%{ext_man} +%endif +%{_mandir}/man8/showconsolefont.8%{ext_man} +%{_mandir}/man8/loadunimap.8%{ext_man} +%{_mandir}/man8/mapscrn.8%{ext_man} +%ifarch %{ix86} x86_64 +%{_mandir}/man8/resizecons.8%{ext_man} +%endif +%{_mandir}/man8/setfont.8%{ext_man} +%{_mandir}/man8/fbtest.8%{ext_man} +%{_mandir}/man8/kbdrate.8%{ext_man} +%{_mandir}/man8/clrunimap.8%{ext_man} +%{_mandir}/man8/getunimap.8%{ext_man} +%{_mandir}/man8/mk_modmap.8%{ext_man} +%{_mandir}/man8/setlogcons.8%{ext_man} +%{_mandir}/man8/setvesablank.8%{ext_man} +%{_mandir}/man8/setvtrgb.8%{ext_man} +%{_mandir}/man8/vcstime.8%{ext_man} +%if %{defined _distconfdir} +%{_distconfdir}/pam.d/vlock +%else +%config(noreplace) %{_sysconfdir}/pam.d/vlock +%endif +%dir %{_datadir}/systemd +%{_prefix}/lib/systemd/system/kbdsettings.service +%{_datadir}/systemd/kbd-model-map.xkb-generated +%{_sbindir}/kbdsettings + +%files legacy +%{kbd}/keymaps/{%{legacy_folders}} + +%changelog diff --git a/kbdsettings b/kbdsettings new file mode 100644 index 0000000..47044b0 --- /dev/null +++ b/kbdsettings @@ -0,0 +1,51 @@ +#! /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 diff --git a/kbdsettings-nox86.patch b/kbdsettings-nox86.patch new file mode 100644 index 0000000..3c41e56 --- /dev/null +++ b/kbdsettings-nox86.patch @@ -0,0 +1,42 @@ +--- 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 $confval invalid for $conf" +- fi +- ;; + *) + echo "error: unknown value $confval 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 diff --git a/kbdsettings.service b/kbdsettings.service new file mode 100644 index 0000000..77395e3 --- /dev/null +++ b/kbdsettings.service @@ -0,0 +1,15 @@ +[Unit] +Description=Apply settings from /etc/sysconfig/keyboard +After=basic.target +After=systemd-vconsole-setup.service +PartOf=systemd-vconsole-setup.service +ConditionPathExists=/etc/sysconfig/keyboard +ConditionPathExists=/dev/tty0 + +[Service] +Type=oneshot +ExecStart=/usr/sbin/kbdsettings +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/numlockbios.c b/numlockbios.c new file mode 100644 index 0000000..dcafb61 --- /dev/null +++ b/numlockbios.c @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +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; +} diff --git a/repack_kbd.sh b/repack_kbd.sh new file mode 100644 index 0000000..d2e35f6 --- /dev/null +++ b/repack_kbd.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# +# repackage kbd source tar ball, +# to remove fonts that forbid commercial distribution. +# +# 2005-07-11, jw@suse.de + +tmpdir=`mktemp -d` +in="$1" +if [ -z $in ]; then + echo "usage: $0 " + exit 1 +fi +name="${in%.tar.*}" + +# recent gnu tar can autodetect gzip / bzip2 +if ! tar xf "$in" -C $tmpdir; then + rm -rf $tmpdir + exit 1 +fi + +echo removing files... +find $tmpdir -iname \*agafari\* | tee /dev/tty | xargs rm +tar Jcf $name-repack.tar.xz -C $tmpdir $name + +rm -rf $tmpdir diff --git a/sysconfig.console b/sysconfig.console new file mode 100644 index 0000000..9ef8f6b --- /dev/null +++ b/sysconfig.console @@ -0,0 +1,49 @@ +## Path: Hardware/Console +## Description: Text console settings (see also Hardware/Keyboard) +# + +## Type: string +## Default: "" +# +# Console settings. +# Note: The KBD_TTY setting from Hardware/Keyboard (sysconfig/keyboard) +# also applies for the settings here. +# +# Load this console font on bootup: +# (/usr/share/kbd/consolefonts/) +# +CONSOLE_FONT="" + +## Type: string +## Default: "" +# +# Some fonts come without a unicode map. +# (.psfu fonts supposedly have it, others often not.) +# You can then specify the unicode mapping of your font +# explicitly. (/usr/share/kbd/unimaps/) +# Normally not needed. +# +CONSOLE_UNICODEMAP="" + +## Type: string +## Default: "" +# +# Most programs output 8 bit characters, so you need a table to +# translate those characters into unicode. That one can be specified +# here. (/usr/share/kbd/consoletrans/) +# (Note: If your console is in utf-8 mode you don't need this.) +# If your code does not use a unicode mapping at all (because you +# e.g. explicitly specified UNICODEMAP="none") you may circumvent +# the translation via unicode, but load a map which directly maps +# 8 bit output of your program to a font position. +# +CONSOLE_SCREENMAP="" + +## Type: string +## Default: "" +# +# for some fonts the console has to be initialized with CONSOLE_MAGIC. +# CONSOLE_MAGIC can be empty or have the values "(B", ")B", "(K" or ")K". +# Normally not needed (automatically handled by setfont). +# +CONSOLE_MAGIC="" diff --git a/sysconfig.keyboard b/sysconfig.keyboard new file mode 100644 index 0000000..6932c5e --- /dev/null +++ b/sysconfig.keyboard @@ -0,0 +1,56 @@ +## Path: Hardware/Keyboard +## Description: Keyboard settings for the text console +## ServiceRestart: kbdsettings +# + +## Type: integer +## Default: +# +# Keyboard delay time in ms (250, 500, 750, 1000) +KBD_DELAY="" + +## Type: string(2.0,2.1,2.3,2.5,2.7,3.0,3.3,3.7,4.0,4.3,4.6,5.0,5.5,6.0,6.7,7.5,8.0,8.6,9.2,10.0,10.9,12.0,13.3,15.0,16.0,17.1,18.5,20.0,21.8,24.0,26.7,30.0) +## Default: +# +# Keyboard repeat rate (2.0 - 30.0) +KBD_RATE="" + +## Type: list(bios,yes,no) +## Default: bios +# +# NumLock on? ("yes" or "no" or "bios" for BIOS setting) +# This setting may interfere with GNOME /org/gnome/settings-daemon/peripherals/keyboard/remember-numlock-state DConf key. +KBD_NUMLOCK="bios" + +## Type: yesno +## Default: no +# +# ScrollLock on? ("yes" or "no") +KBD_SCRLOCK="no" + +## Type: yesno +## Default: no +# +# CapsLock on? ("yes" or "no") +KBD_CAPSLOCK="no" + +## Type: yesno +## Default: no +# +# Disable CAPS LOCK and make it a normal Shift key? +# (Ctrl Caps Lock will still toggle Caps Lock functionality) +# Note that you need to tweak the xkb maps or use xmodmap +# if you want to do the same under X-Windows. In ~/.Xmodmap: +# keycode 0x42 = Shift_L Shift_L +# +KBD_DISABLE_CAPS_LOCK="no" + +## Type: string +## Default: +# +# ttys for the above settings +# Example: "tty1 tty2" +# "" for tty's 1-6 +# +KBD_TTY="" + diff --git a/vlock.pamd b/vlock.pamd new file mode 100644 index 0000000..c6a7c9c --- /dev/null +++ b/vlock.pamd @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth include common-auth +account include common-account +password include common-password +session include common-session diff --git a/xml2lst.pl b/xml2lst.pl new file mode 100644 index 0000000..96cf01e --- /dev/null +++ b/xml2lst.pl @@ -0,0 +1,231 @@ +#!/usr/bin/perl + +# converts the .xml file to the old format .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}; +}