OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kbd?expand=0&rev=99
This commit is contained in:
parent
06fa864359
commit
36be77335a
42
README.SUSE
42
README.SUSE
@ -1,42 +0,0 @@
|
|||||||
Handling of composition of characters
|
|
||||||
=====================================
|
|
||||||
|
|
||||||
Most of the fonts have much more characters than you can reach directly
|
|
||||||
through the keyboard. To access all of them you may use showconsolefont,
|
|
||||||
deduce the decimal code and enter it by holding down <alt> and entering
|
|
||||||
the code via the keypad. There's a much better way, though:
|
|
||||||
Most characters may be entered via composition. Many characters are just
|
|
||||||
consisting of a standard character with some sort of accent or change.
|
|
||||||
Such characters can be composed by composition. Just press the <compose>
|
|
||||||
key, let it go again, enter the accent and then the letter.
|
|
||||||
Some examples: (Assuming Iso-Latin-1/9 character set:)
|
|
||||||
<compose> " a => ä
|
|
||||||
<compose> , c => ç
|
|
||||||
<compose> | S => $
|
|
||||||
|
|
||||||
Support for composition is unfortunately not contained in most keymaps.
|
|
||||||
Most lack two things:
|
|
||||||
(a) The <compose> key is not mapped
|
|
||||||
(b) The compose tables are not included
|
|
||||||
|
|
||||||
Look at the compose.* files in /usr/share/kbd/keymaps/include/:
|
|
||||||
(a) You find there two files for having the <compose> key mapped.
|
|
||||||
(b) You find there compose tables which are suitable for different
|
|
||||||
character sets.
|
|
||||||
|
|
||||||
ad (a): winkeys: The compose key will be mapped on the W*n menu key
|
|
||||||
shiftctrl: The compose key will be mapped to Shift Ctrl.
|
|
||||||
You can use both, if you like.
|
|
||||||
ad (b): latin, latinX, latin1.add, 8859_X: Contains the compose
|
|
||||||
combinations suitable for the respective character set.
|
|
||||||
Many people will want to use latin1 or latin1.add. Just
|
|
||||||
using latin is also sort of an acceptable compromise for
|
|
||||||
many Latin character sets.
|
|
||||||
YOU MAY ONLY USE ONE OF THOSE.
|
|
||||||
If you want the combination of more than one table, you
|
|
||||||
have to create a file which includes what you want.
|
|
||||||
|
|
||||||
Please keep in mind, that all these settings only affect the console,
|
|
||||||
i.e. text mode.
|
|
||||||
|
|
||||||
Your SuSE team
|
|
83
README.SuSE
Normal file
83
README.SuSE
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
Release info on the kbd utils
|
||||||
|
=============================
|
||||||
|
Fri Feb 27 18:39:59 CET 2004, jw
|
||||||
|
|
||||||
|
SuSE upgraded the kbd utils to 1.12 for the release of SuSE Linux 9.1.
|
||||||
|
|
||||||
|
The choose-tty patch has been accepted upstream. Note that we used -c
|
||||||
|
for selecting the console device, now it is -C
|
||||||
|
|
||||||
|
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
|
||||||
|
SuSE upgraded the kbd utils to 1.08 for the release of SuSE Linux 9.0.
|
||||||
|
|
||||||
|
Some of our patches to 1.06 have been integrated.
|
||||||
|
|
||||||
|
Most of the changes from us to 1.03wip (SL 7.1 and 7.0) and 1.05 (SL 7.2,
|
||||||
|
7.3) have been incorporated, so we can finally go with an almost unpatched
|
||||||
|
kbd again.
|
||||||
|
|
||||||
|
Since 1.03a, there is support for fonts that have a width larger than
|
||||||
|
8 pixels. This will only work with framebuffer support on most architectures
|
||||||
|
though. Some fonts with 12x22 size are available as well, check
|
||||||
|
/usr/share/kbd/consolefonts/.
|
||||||
|
You probably want to use higher resolutions with such a large font, like
|
||||||
|
1152x858. If you use fbset don't forget to set -vyres to a large value,
|
||||||
|
otherwise your framebuffer's speed will be lower than it could.
|
||||||
|
|
||||||
|
setfont has been patched to allow specifing the tty with -c where the
|
||||||
|
changes should be applied to. This is used in the setup scripts.
|
||||||
|
|
||||||
|
Your SuSE team <feedback@suse.de>
|
||||||
|
|
||||||
|
New handling of composition of characters
|
||||||
|
=========================================
|
||||||
|
Most of the fonts have much more characters than you can reach directly
|
||||||
|
through the keyboard. To access all of them you may use showconsolefont,
|
||||||
|
deduce the decimal code and enter it by holding down <alt> and entering
|
||||||
|
the code via the keypad. There's a much better way, though:
|
||||||
|
Most characters may be entered via composition. Many characters are just
|
||||||
|
consisting of a standard character with some sort of accent or change.
|
||||||
|
Such characters can be composed by composition. Just press the <compose>
|
||||||
|
key, let it go again, enter the accent and then the letter.
|
||||||
|
Some examples: (Assuming Iso-Latin-1/9 character set:)
|
||||||
|
<compose> " a => ä
|
||||||
|
<compose> , c => ç
|
||||||
|
<compose> | S => $
|
||||||
|
|
||||||
|
Support for composition is unfortunately not contained in most keymaps.
|
||||||
|
Most lack two things:
|
||||||
|
(a) The <compose> key is not mapped
|
||||||
|
(b) The compose tables are not included
|
||||||
|
|
||||||
|
In previous versions of SuSE Linux, some keytables have been hacked to
|
||||||
|
include support for the <compose> key and to include compose tables.
|
||||||
|
This has now been replaced by a more general solution:
|
||||||
|
The kbd setup scripts uses another /etc/sysconfig/keyboard variable to
|
||||||
|
determine which compose tables should be loaded and whether the compose key
|
||||||
|
should be mapped: COMPOSETABLE.
|
||||||
|
For all words listed there, loadkeys will be called with the argument
|
||||||
|
compose.word. (Except for clear which sets a flag to clear the compose
|
||||||
|
table.) Look at the compose.* files in /usr/share/kbd/keymaps/include/:
|
||||||
|
(a) You find there two files for having the <compose> key mapped.
|
||||||
|
(b) You find there compose tables which are suitable for different
|
||||||
|
character sets.
|
||||||
|
|
||||||
|
ad (a): winkeys: The compose key will be mapped on the W*n menu key
|
||||||
|
shiftctrl: The compose key will be mapped to Shift Ctrl.
|
||||||
|
You can use both, if you like.
|
||||||
|
ad (b): latin, latinX, latin1.add, 8859_X: Contains the compose
|
||||||
|
combinations suitable for the respective character set.
|
||||||
|
Many people will want to use latin1 or latin1.add. Just
|
||||||
|
using latin is also sort of an acceptable compromise for
|
||||||
|
many Latin character sets.
|
||||||
|
YOU MAY ONLY USE ONE OF THOSE.
|
||||||
|
If you want the combination of more than one table, you
|
||||||
|
have to create a file which includes what you want.
|
||||||
|
|
||||||
|
Example: (/etc/sysconfig/keyboard)
|
||||||
|
COMPOSETABLE="clear winkeys shiftctrl latin1.add"
|
||||||
|
|
||||||
|
Please keep in mind, that all these settings only affect the console,
|
||||||
|
i.e. text mode.
|
||||||
|
|
||||||
|
Your SuSE team <feedback@suse.de>
|
61
cz-map.patch
61
cz-map.patch
@ -1,61 +0,0 @@
|
|||||||
--- 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
|
|
49
fbtest.8
49
fbtest.8
@ -1,49 +0,0 @@
|
|||||||
'\" -*- coding: UTF-8 -*-
|
|
||||||
.\"
|
|
||||||
.\" Copyright 2008 Werner Fink, 2008 SUSE LINUX Products GmbH, Germany.
|
|
||||||
.\"
|
|
||||||
.\" This program is free software; you can redistribute it and/or modify
|
|
||||||
.\" it under the terms of the GNU General Public License as published by
|
|
||||||
.\" the Free Software Foundation; either version 2 of the License, or
|
|
||||||
.\" (at your option) any later version.
|
|
||||||
.\"
|
|
||||||
.TH FBTEST 8 "May 6, 2008" "0.42" "International Support"
|
|
||||||
.SH NAME
|
|
||||||
fbtest \- test if a virtual console is mapped to a frame buffer devive
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B fbtest
|
|
||||||
.RB [ \-f \ \fI<fb_device>\fR]
|
|
||||||
.RB [ \-C \ \fI<vc_device>\fR]
|
|
||||||
.br
|
|
||||||
.B fbtest
|
|
||||||
.B \-\-help
|
|
||||||
.SH DESCRIPTION
|
|
||||||
The program
|
|
||||||
.BR fbtest (8)
|
|
||||||
is used to test if a virtual console, e.g.
|
|
||||||
.I /dev/tty1
|
|
||||||
is mapped on a frame buffer device.
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
.BR \-f ,\ \-\-fb = \fI<fb_device>\fR
|
|
||||||
This option specifies an other frame buffer device than
|
|
||||||
the default
|
|
||||||
.IR /dev/fb0 .
|
|
||||||
.TP
|
|
||||||
.BR \-C ,\ \-\-vc = \fI<vc_device>\fR
|
|
||||||
This option specifies an other virtual console than the default
|
|
||||||
.IR /dev/tty1 .
|
|
||||||
.SH EXIT STATUS
|
|
||||||
.IP \fB0\fR 5
|
|
||||||
The virtual console is mapped onto a frame buffer device.
|
|
||||||
.IP \fB1\fR 5
|
|
||||||
The virtual console is
|
|
||||||
.B not
|
|
||||||
mapped onto a frame buffer device.
|
|
||||||
.PP
|
|
||||||
.SH FILES
|
|
||||||
.I /dev/fb0
|
|
||||||
.br
|
|
||||||
.I /dev/tty<1...63>
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR fbset (8).
|
|
112
fbtest.c
112
fbtest.c
@ -1,112 +0,0 @@
|
|||||||
/*
|
|
||||||
* fbtest(.c)
|
|
||||||
*
|
|
||||||
* Copyright 2008 Werner Fink, 2008 SUSE LINUX Products GmbH, Germany.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _GNU_SOURCE
|
|
||||||
#define _GNU_SOURCE
|
|
||||||
#endif
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/sysmacros.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <getopt.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <linux/fb.h>
|
|
||||||
|
|
||||||
static struct option options[] = {
|
|
||||||
{ "fb", required_argument, 0, 'f'},
|
|
||||||
{ "vc", required_argument, 0, 'C'},
|
|
||||||
{ "help", no_argument, 0, 'h'},
|
|
||||||
{ (const char*)0, 0, (int*)0, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
int main(int argc, char * argv[])
|
|
||||||
{
|
|
||||||
struct fb_con2fbmap map = {1, -1};
|
|
||||||
const char *base = basename(argv[0]);
|
|
||||||
const char * fb = (char*)0;
|
|
||||||
const char * vc = (char*)0;
|
|
||||||
struct stat st;
|
|
||||||
int c, fd;
|
|
||||||
|
|
||||||
opterr = 0;
|
|
||||||
while ((c = getopt_long(argc, argv, "hf:C:", options, (int *)0)) != -1) {
|
|
||||||
switch (c) {
|
|
||||||
case 'f':
|
|
||||||
fb = optarg;
|
|
||||||
break;
|
|
||||||
case 'C':
|
|
||||||
vc = optarg;
|
|
||||||
break;
|
|
||||||
case 'h':
|
|
||||||
fprintf(stderr, "%s: Usage:\n %s [-f <fb_device>] [-C <vc_device>]\n", base, base);
|
|
||||||
fprintf(stderr, "Valid options are:\n");
|
|
||||||
fprintf(stderr, " -f <fb_device> The frame buffer device (default /dev/fb0)\n");
|
|
||||||
fprintf(stderr, " -C <vc_device> The virtual console device (default /dev/tty1)\n");
|
|
||||||
return 0;
|
|
||||||
case '?':
|
|
||||||
fprintf(stdout, "%s: Invalid option for help use:\n %s --help\n", base, base);
|
|
||||||
return 1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fb == (char*)0) {
|
|
||||||
fb = "/dev/fb/0";
|
|
||||||
if (stat(fb, &st) < 0) {
|
|
||||||
if (errno != ENOENT && errno != ENOTDIR) {
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, fb);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
fb = "/dev/fb0";
|
|
||||||
if (stat(fb, &st) < 0) {
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, fb);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (vc == (char*)0)
|
|
||||||
vc = "/dev/tty1";
|
|
||||||
|
|
||||||
if (stat(vc, &st) < 0) {
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, vc);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (major(st.st_rdev) != (dev_t)4) {
|
|
||||||
errno = ECANCELED;
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, vc);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((fd = open(fb, O_RDONLY|O_NOCTTY)) < 0) {
|
|
||||||
if (errno != ENODEV)
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, fb);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
map.console = (typeof(map.console))minor(st.st_rdev);
|
|
||||||
map.framebuffer = (typeof(map.framebuffer))-1;
|
|
||||||
|
|
||||||
if (ioctl(fd, FBIOGET_CON2FBMAP, &map) < 0) {
|
|
||||||
fprintf(stderr, "%s: %s: %m\n", base, fb);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return map.framebuffer > FB_MAX;
|
|
||||||
}
|
|
@ -1,70 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
1048
kbd-1.12-Meta-Tab.diff
Normal file
1048
kbd-1.12-Meta-Tab.diff
Normal file
File diff suppressed because it is too large
Load Diff
54
kbd-1.12-be-nice-to-kdm.diff
Normal file
54
kbd-1.12-be-nice-to-kdm.diff
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
--- kbd-1.12/src/setfont.c.orig 2005-03-03 19:17:42.000000000 +0000
|
||||||
|
+++ kbd-1.12/src/setfont.c 2005-03-04 15:19:13.000000000 +0000
|
||||||
|
@@ -189,6 +189,20 @@
|
||||||
|
|
||||||
|
fd = getfd(console);
|
||||||
|
|
||||||
|
+ int kd_mode = -1;
|
||||||
|
+ if (!ioctl(fd, KDGETMODE, &kd_mode) && (kd_mode == KD_GRAPHICS))
|
||||||
|
+ {
|
||||||
|
+ /*
|
||||||
|
+ * PIO_FONT will fail on a console which is in foreground and in KD_GRAPHICS mode.
|
||||||
|
+ * 2005-03-03, jw@suse.de.
|
||||||
|
+ */
|
||||||
|
+ if (verbose)
|
||||||
|
+ printf("setfont: graphics console %s skipped\n", console?console:"");
|
||||||
|
+ close(fd);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
if (!ifilct && !mfil && !ufil &&
|
||||||
|
!Ofil && !ofil && !omfil && !oufil && !restore)
|
||||||
|
/* reset to some default */
|
||||||
|
--- kbd-1.12/src/kdfontop.c.orig 2005-03-03 19:14:27.000000000 +0000
|
||||||
|
+++ kbd-1.12/src/kdfontop.c 2005-03-03 19:42:28.000000000 +0000
|
||||||
|
@@ -7,6 +7,7 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stdlib.h> /* free() */
|
||||||
|
+#include <unistd.h> /* usleep() */
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <linux/kd.h>
|
||||||
|
#include "kdfontop.h"
|
||||||
|
@@ -275,7 +276,19 @@
|
||||||
|
|
||||||
|
/* Third attempt: PIO_FONT */
|
||||||
|
/* This will load precisely 256 chars, independent of count */
|
||||||
|
- i = ioctl(fd, PIO_FONT, buf);
|
||||||
|
+ int loop = 0;
|
||||||
|
+
|
||||||
|
+ /* we allow ourselves to hang here for ca 5 seconds, xdm may be playing tricks on us. */
|
||||||
|
+ while ((loop++ < 20) && (i = ioctl(fd, PIO_FONT, buf)))
|
||||||
|
+ {
|
||||||
|
+ if (loop <= 1)
|
||||||
|
+ fprintf(stderr, "putfont: PIO_FONT trying ...\n");
|
||||||
|
+ else
|
||||||
|
+ fprintf(stderr, ".");
|
||||||
|
+ usleep(250000);
|
||||||
|
+ }
|
||||||
|
+ fprintf(stderr, "\n");
|
||||||
|
+
|
||||||
|
if (i) {
|
||||||
|
fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i);
|
||||||
|
perror("putfont: PIO_FONT");
|
21
kbd-1.12-cz-us-qwertz.diff
Normal file
21
kbd-1.12-cz-us-qwertz.diff
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -Nur kbd-1.12-12/data/keymaps/i386/qwertz/cz-us-qwertz.map kbd-1.12-13/data/keymaps/i386/qwertz/cz-us-qwertz.map
|
||||||
|
--- kbd-1.12-12/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 17:19:23.000000000 +0100
|
||||||
|
+++ kbd-1.12-13/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 17:23:00.000000000 +0100
|
||||||
|
@@ -35,7 +35,7 @@
|
||||||
|
keycode 18 = e
|
||||||
|
keycode 19 = r
|
||||||
|
keycode 20 = t
|
||||||
|
-keycode 21 = z
|
||||||
|
+keycode 21 = z Z y Y
|
||||||
|
keycode 22 = u
|
||||||
|
keycode 23 = i
|
||||||
|
keycode 24 = o
|
||||||
|
@@ -61,7 +61,7 @@
|
||||||
|
keycode 41 = grave semicolon grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave VoidSymbol
|
||||||
|
keycode 42 = Shift
|
||||||
|
keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash VoidSymbol
|
||||||
|
-keycode 44 = y
|
||||||
|
+keycode 44 = y Y z Z
|
||||||
|
keycode 45 = x
|
||||||
|
keycode 46 = c
|
||||||
|
keycode 47 = v
|
@ -1,5 +1,5 @@
|
|||||||
--- docs/doc/kbd.FAQ-15.html.orig 2012-02-27 13:27:11.000000000 +0300
|
--- kbd-1.12/doc/kbd.FAQ-15.html.orig 2003-09-24 23:01:40.000000000 +0200
|
||||||
+++ docs/doc/kbd.FAQ-15.html 2013-07-30 18:56:43.697000005 +0300
|
+++ kbd-1.12/doc/kbd.FAQ-15.html 2006-08-11 12:10:06.000000000 +0200
|
||||||
@@ -188,7 +188,7 @@
|
@@ -188,7 +188,7 @@
|
||||||
<P>XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an
|
<P>XFree86 also supports Slow Keys, Repeat Keys, Bounce Keys and an
|
||||||
audible bell. <CODE>xkbcomp</CODE> can be used to generate a <CODE>.xkm</CODE> file
|
audible bell. <CODE>xkbcomp</CODE> can be used to generate a <CODE>.xkm</CODE> file
|
||||||
@ -9,8 +9,8 @@
|
|||||||
Unfortunately, the exact process is still undocumented.
|
Unfortunately, the exact process is still undocumented.
|
||||||
<P>
|
<P>
|
||||||
<HR>
|
<HR>
|
||||||
--- docs/doc/kbd.FAQ.txt.orig 2012-02-27 13:27:11.000000000 +0300
|
--- kbd-1.12/doc/kbd.FAQ.txt.orig 1999-10-08 22:46:24.000000000 +0200
|
||||||
+++ docs/doc/kbd.FAQ.txt 2013-07-30 18:57:41.150000005 +0300
|
+++ kbd-1.12/doc/kbd.FAQ.txt 2006-08-11 12:10:16.000000000 +0200
|
||||||
@@ -1253,7 +1253,7 @@
|
@@ -1253,7 +1253,7 @@
|
||||||
1. The Linux keyboard driver mechanism, used in conjunction with
|
1. The Linux keyboard driver mechanism, used in conjunction with
|
||||||
loadkeys.
|
loadkeys.
|
||||||
@ -20,8 +20,8 @@
|
|||||||
|
|
||||||
See also Andrew D. Balsa's comments at
|
See also Andrew D. Balsa's comments at
|
||||||
http://wauug.erols.com/~balsa/linux/deadkeys/index.html.
|
http://wauug.erols.com/~balsa/linux/deadkeys/index.html.
|
||||||
--- docs/doc/kbd.FAQ-8.html.orig 2012-02-27 13:27:11.000000000 +0300
|
--- kbd-1.12/doc/kbd.FAQ-8.html.orig 2003-09-24 23:01:40.000000000 +0200
|
||||||
+++ docs/doc/kbd.FAQ-8.html 2013-07-30 18:58:23.978000004 +0300
|
+++ kbd-1.12/doc/kbd.FAQ-8.html 2006-08-11 12:09:53.000000000 +0200
|
||||||
@@ -154,7 +154,7 @@
|
@@ -154,7 +154,7 @@
|
||||||
<OL>
|
<OL>
|
||||||
<LI>The Linux keyboard driver mechanism, used in conjunction with loadkeys.</LI>
|
<LI>The Linux keyboard driver mechanism, used in conjunction with loadkeys.</LI>
|
34
kbd-1.12-dumpkeys-full.diff
Normal file
34
kbd-1.12-dumpkeys-full.diff
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
diff -Nur kbd-1.12-7/src/dumpkeys.c kbd-1.12-8/src/dumpkeys.c
|
||||||
|
--- kbd-1.12-7/src/dumpkeys.c 2004-02-26 22:56:09.000000000 +0100
|
||||||
|
+++ kbd-1.12-8/src/dumpkeys.c 2004-02-26 23:00:23.000000000 +0100
|
||||||
|
@@ -126,6 +126,7 @@
|
||||||
|
int t;
|
||||||
|
int v;
|
||||||
|
const char *p;
|
||||||
|
+ int plus;
|
||||||
|
|
||||||
|
printf(" ");
|
||||||
|
t = KTYP(code);
|
||||||
|
@@ -138,18 +139,20 @@
|
||||||
|
printf("U+%04x ", code);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+ plus = 0;
|
||||||
|
if (t == KT_LETTER) {
|
||||||
|
t = KT_LATIN;
|
||||||
|
printf("+");
|
||||||
|
+ plus++;
|
||||||
|
}
|
||||||
|
if (!numeric && t < syms_size && v < syms[t].size &&
|
||||||
|
(p = syms[t].table[v])[0])
|
||||||
|
- printf("%-16s", p);
|
||||||
|
+ printf("%-*s", 16 - plus, p);
|
||||||
|
else if (!numeric && t == KT_META && v < 128 && v < syms[0].size &&
|
||||||
|
(p = syms[0].table[v])[0])
|
||||||
|
printf("Meta_%-11s", p);
|
||||||
|
else
|
||||||
|
- printf("0x%04x ", code);
|
||||||
|
+ printf("0x%04x %s", code, plus ? "" : " ");
|
||||||
|
}
|
||||||
|
|
||||||
|
static char
|
52
kbd-1.12-dumpkeys-ppc.diff
Normal file
52
kbd-1.12-dumpkeys-ppc.diff
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
diff -Nur kbd-1.12-8/src/dumpkeys.c kbd-1.12-9/src/dumpkeys.c
|
||||||
|
--- kbd-1.12-8/src/dumpkeys.c 2004-02-26 23:00:23.000000000 +0100
|
||||||
|
+++ kbd-1.12-9/src/dumpkeys.c 2004-02-26 23:07:51.000000000 +0100
|
||||||
|
@@ -163,6 +163,10 @@
|
||||||
|
ke.kb_index = 0;
|
||||||
|
ke.kb_table = 0;
|
||||||
|
ke.kb_value = K(t, 0);
|
||||||
|
+#if defined(__mc68000__) || defined(__powerpc__)
|
||||||
|
+ /* Keycode 0 is a valid keycode, do not clobber it. */
|
||||||
|
+ ioctl(fd, KDGKBENT, (unsigned long)&ke);
|
||||||
|
+#endif
|
||||||
|
status = (ioctl(fd, KDSKBENT, (unsigned long)&ke) == 0);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
@@ -245,8 +249,13 @@
|
||||||
|
show_short_info(void) {
|
||||||
|
int i;
|
||||||
|
|
||||||
|
+#if !defined(__mc68000__) && !defined(__powerpc__)
|
||||||
|
printf(_("keycode range supported by kernel: 1 - %d\n"),
|
||||||
|
nr_keys - 1);
|
||||||
|
+#else
|
||||||
|
+ printf(_("keycode range supported by kernel: 0 - %d\n"),
|
||||||
|
+ NR_KEYS - 1);
|
||||||
|
+#endif
|
||||||
|
printf(_("max number of actions bindable to a key: %d\n"),
|
||||||
|
MAX_NR_KEYMAPS);
|
||||||
|
get_keymaps();
|
||||||
|
@@ -358,7 +367,11 @@
|
||||||
|
for (j = 0; j < MAX_NR_KEYMAPS; j++) {
|
||||||
|
int ja = (j | M_ALT);
|
||||||
|
if (j != ja && keymap_index[j] >= 0 && keymap_index[ja] >= 0)
|
||||||
|
+#if !defined(__mc68000__) && !defined(__powerpc__)
|
||||||
|
for (i = 1; i < nr_keys; i++) {
|
||||||
|
+#else
|
||||||
|
+ for (i = 0; i < nr_keys; i++) {
|
||||||
|
+#endif
|
||||||
|
int buf0, buf1, type;
|
||||||
|
|
||||||
|
buf0 = get_bind(i, j);
|
||||||
|
@@ -384,7 +397,11 @@
|
||||||
|
not_alt_is_meta:
|
||||||
|
|
||||||
|
no_shorthands:
|
||||||
|
+#if !defined(__mc68000__) && !defined(__powerpc__)
|
||||||
|
for (i = 1; i < nr_keys; i++) {
|
||||||
|
+#else
|
||||||
|
+ for (i = 0; i < nr_keys; i++) {
|
||||||
|
+#endif
|
||||||
|
for (j = 0; j < keymapnr; j++)
|
||||||
|
buf[j] = get_bind(i, good_keymap[j]);
|
||||||
|
|
14
kbd-1.12-el-locale-update.diff
Normal file
14
kbd-1.12-el-locale-update.diff
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
--- po/Makefile.in
|
||||||
|
+++ po/Makefile.in
|
||||||
|
@@ -34,9 +34,9 @@
|
||||||
|
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
|
||||||
|
|
||||||
|
# Enter here all .po files
|
||||||
|
-POFILES = cs.po da.po de.po es.po fr.po gr.po nl.po pl.po ro.po ru.po sv.po tr.po
|
||||||
|
+POFILES = cs.po da.po de.po el.po es.po fr.po nl.po pl.po ro.po ru.po sv.po tr.po
|
||||||
|
# the same but with .gmo
|
||||||
|
-GMOFILES = cs.gmo da.gmo de.gmo es.gmo fr.gmo gr.gmo nl.gmo pl.gmo ro.gmo ru.gmo sv.gmo tr.gmo
|
||||||
|
+GMOFILES = $(patsubst %.po, %.gmo, $(POFILES))
|
||||||
|
|
||||||
|
CATALOGS = $(GMOFILES)
|
||||||
|
CATOBJEXT = .gmo
|
39
kbd-1.12-handle-small-table.diff
Normal file
39
kbd-1.12-handle-small-table.diff
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
diff -Nur kbd-1.12-10/src/dumpkeys.c kbd-1.12-11/src/dumpkeys.c
|
||||||
|
--- kbd-1.12-10/src/dumpkeys.c 2004-02-26 23:10:19.000000000 +0100
|
||||||
|
+++ kbd-1.12-11/src/dumpkeys.c 2004-02-27 17:18:15.000000000 +0100
|
||||||
|
@@ -113,10 +113,13 @@
|
||||||
|
ke.kb_index = index;
|
||||||
|
ke.kb_table = table;
|
||||||
|
if (ioctl(fd, KDGKBENT, (unsigned long)&ke)) {
|
||||||
|
- perror("KDGKBENT");
|
||||||
|
- fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"),
|
||||||
|
- index, table);
|
||||||
|
- exit(1);
|
||||||
|
+ if (index < 128) {
|
||||||
|
+ perror("KDGKBENT");
|
||||||
|
+ fprintf(stderr, _("KDGKBENT error at index %d in table %d\n"),
|
||||||
|
+ index, table);
|
||||||
|
+ exit(1);
|
||||||
|
+ } else
|
||||||
|
+ return -1;
|
||||||
|
}
|
||||||
|
return ke.kb_value;
|
||||||
|
}
|
||||||
|
@@ -375,6 +378,8 @@
|
||||||
|
int buf0, buf1, type;
|
||||||
|
|
||||||
|
buf0 = get_bind(i, j);
|
||||||
|
+ if (buf0 == -1)
|
||||||
|
+ break;
|
||||||
|
type = KTYP(buf0);
|
||||||
|
if ((type == KT_LATIN || type == KT_LETTER)
|
||||||
|
&& KVAL(buf0) < 128) {
|
||||||
|
@@ -404,6 +409,8 @@
|
||||||
|
#endif
|
||||||
|
for (j = 0; j < keymapnr; j++)
|
||||||
|
buf[j] = get_bind(i, good_keymap[j]);
|
||||||
|
+ if (buf[0] == -1)
|
||||||
|
+ break;
|
||||||
|
|
||||||
|
if (table_shape == FULL_TABLE) {
|
||||||
|
printf("keycode %3d =", i);
|
146
kbd-1.12-happy-abuild.diff
Normal file
146
kbd-1.12-happy-abuild.diff
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
--- kbd-1.12/src/psffontop.c.orig 2005-07-07 15:00:50.547440043 +0200
|
||||||
|
+++ kbd-1.12/src/psffontop.c 2005-07-07 15:02:49.642520578 +0200
|
||||||
|
@@ -465,7 +465,7 @@
|
||||||
|
writepsffontheader(ofil, width, height, fontlen, &psftype, flags);
|
||||||
|
utf8 = (psftype == 2);
|
||||||
|
|
||||||
|
- fwrite(fontbuf, charsize, fontlen, ofil);
|
||||||
|
+ (void)fwrite(fontbuf, charsize, fontlen, ofil);
|
||||||
|
/* unimaps: -1 => do nothing: caller will append map */
|
||||||
|
if (uclistheads != NULL && uclistheads != (struct unicode_list*)-1) {
|
||||||
|
struct unicode_list *ul;
|
||||||
|
--- kbd-1.12/src/loadkeys.y.orig 2005-07-07 15:00:50.891379623 +0200
|
||||||
|
+++ kbd-1.12/src/loadkeys.y 2005-07-07 15:02:19.174871991 +0200
|
||||||
|
@@ -20,6 +20,7 @@
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <linux/kd.h>
|
||||||
|
#include <linux/keyboard.h>
|
||||||
|
+#include <unistd.h> /* readlink */
|
||||||
|
#include "paths.h"
|
||||||
|
#include "getfd.h"
|
||||||
|
#include "findfile.h"
|
||||||
|
@@ -65,9 +66,9 @@
|
||||||
|
static void loadkeys(char *console, int *warned);
|
||||||
|
static void mktable(void);
|
||||||
|
static void strings_as_usual(void);
|
||||||
|
-static void keypad_as_usual(char *keyboard);
|
||||||
|
-static void function_keys_as_usual(char *keyboard);
|
||||||
|
-static void consoles_as_usual(char *keyboard);
|
||||||
|
+/* static void keypad_as_usual(char *keyboard); */
|
||||||
|
+/* static void function_keys_as_usual(char *keyboard); */
|
||||||
|
+/* static void consoles_as_usual(char *keyboard); */
|
||||||
|
static void compose_as_usual(char *charset);
|
||||||
|
static void lkfatal0(const char *, int);
|
||||||
|
extern int set_charset(const char *charset);
|
||||||
|
@@ -559,7 +560,6 @@
|
||||||
|
|
||||||
|
void
|
||||||
|
open_include(char *s) {
|
||||||
|
- char *t, *te;
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
/* start reading include file */
|
||||||
|
@@ -713,7 +713,6 @@
|
||||||
|
int alttable = table | M_ALT;
|
||||||
|
int type = KTYP(keycode);
|
||||||
|
int val = KVAL(keycode);
|
||||||
|
- char *p;
|
||||||
|
if (alttable != table && defining[alttable] &&
|
||||||
|
(!keymap_was_set[alttable] ||
|
||||||
|
!(keymap_was_set[alttable])[index]) &&
|
||||||
|
@@ -1021,7 +1020,7 @@
|
||||||
|
static void
|
||||||
|
loadkeys (char *console, int *warned) {
|
||||||
|
int fd;
|
||||||
|
- int keyct, funcct, diacct;
|
||||||
|
+ int keyct, funcct, diacct = 0;
|
||||||
|
|
||||||
|
fd = getfd(console);
|
||||||
|
keyct = defkeys(fd, console, &warned);
|
||||||
|
@@ -1156,7 +1155,6 @@
|
||||||
|
mktable () {
|
||||||
|
int i, imax, j;
|
||||||
|
|
||||||
|
- struct kbsentry kbs;
|
||||||
|
u_char *p;
|
||||||
|
int maxfunc;
|
||||||
|
unsigned int keymap_count = 0;
|
||||||
|
--- kbd-1.12/src/mapscrn.c.orig 2005-07-07 15:00:50.869383487 +0200
|
||||||
|
+++ kbd-1.12/src/mapscrn.c 2005-07-07 15:02:19.190869181 +0200
|
||||||
|
@@ -126,7 +126,7 @@
|
||||||
|
FILE *fp;
|
||||||
|
struct stat stbuf;
|
||||||
|
int u = 0;
|
||||||
|
- int lineno;
|
||||||
|
+ int lineno = 0;
|
||||||
|
|
||||||
|
if ((fp = findfile(mfil, mapdirpath, mapsuffixes)) == NULL) {
|
||||||
|
fprintf(stderr, _("mapscrn: cannot open map file _%s_\n"),
|
||||||
|
@@ -215,18 +215,18 @@
|
||||||
|
|
||||||
|
if ((strncmp(s,"0x",2) == 0) &&
|
||||||
|
(strspn(s+2,"0123456789abcdefABCDEF") == strlen(s+2)))
|
||||||
|
- sscanf(s+2,"%x",&i);
|
||||||
|
+ (void)sscanf(s+2,"%x",&i);
|
||||||
|
|
||||||
|
else if ((*s == '0') &&
|
||||||
|
(strspn(s,"01234567") == strlen(s)))
|
||||||
|
- sscanf(s,"%o",&i);
|
||||||
|
+ (void)sscanf(s,"%o",&i);
|
||||||
|
|
||||||
|
else if (strspn(s,"0123456789") == strlen(s))
|
||||||
|
- sscanf(s,"%d",&i);
|
||||||
|
+ (void)sscanf(s,"%d",&i);
|
||||||
|
|
||||||
|
else if ((strncmp(s,"U+",2) == 0) && strlen(s) == 6 &&
|
||||||
|
(strspn(s+2,"0123456789abcdefABCDEF") == 4))
|
||||||
|
- sscanf(s+2,"%x",&i);
|
||||||
|
+ (void)sscanf(s+2,"%x",&i);
|
||||||
|
|
||||||
|
else if ((strlen(s) == 3) && (s[0] == '\'') && (s[2] == '\''))
|
||||||
|
i=s[1];
|
||||||
|
--- kbd-1.12/src/outpsfheader.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/outpsfheader.c 2005-07-07 15:02:19.205866546 +0200
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
/* outpsfheader - auxiliary fn - not to be installed */
|
||||||
|
/* assumes a little-endian machine */
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <stdlib.h> /* exit */
|
||||||
|
#include "psf.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
--- kbd-1.12/src/spawn_console.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/spawn_console.c 2005-07-07 15:02:19.220863912 +0200
|
||||||
|
@@ -12,6 +12,10 @@
|
||||||
|
#include <signal.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <linux/kd.h>
|
||||||
|
+#include <stdlib.h> /* system */
|
||||||
|
+#include <fcntl.h> /* open */
|
||||||
|
+#include <sys/ioctl.h> /* ioctl */
|
||||||
|
+#include <unistd.h> /* sleep */
|
||||||
|
|
||||||
|
void
|
||||||
|
sighup(){
|
||||||
|
--- kbd-1.12/src/setleds.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/setleds.c 2005-07-07 15:01:56.377876261 +0200
|
||||||
|
@@ -149,7 +149,7 @@
|
||||||
|
int optL = 0, optD = 0, optF = 0, verbose = 0;
|
||||||
|
char oleds, nleds, oflags, nflags, odefflags, ndefflags;
|
||||||
|
char nval, ndef, sign;
|
||||||
|
- char osunleds, nsunleds, nsunval, nsundef;
|
||||||
|
+ char osunleds = 0, nsunleds, nsunval, nsundef;
|
||||||
|
char *ap;
|
||||||
|
struct led *lp;
|
||||||
|
|
||||||
|
--- kbd-1.12/openvt/Makefile.orig 2004-01-03 15:44:41.000000000 +0100
|
||||||
|
+++ kbd-1.12/openvt/Makefile 2005-07-07 15:02:19.235861278 +0200
|
||||||
|
@@ -1,6 +1,7 @@
|
||||||
|
|
||||||
|
CC=gcc
|
||||||
|
-CFLAGS=-O2 -Wall -ansi
|
||||||
|
+RPM_OPT_FLAGS=-O2 -Wall -ansi
|
||||||
|
+CFLAGS=$(RPM_OPT_FLAGS)
|
||||||
|
LDFLAGS=$(CFLAGS) -s
|
||||||
|
|
||||||
|
SRC=openvt.c
|
99
kbd-1.12-kbd_mode.diff
Normal file
99
kbd-1.12-kbd_mode.diff
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
diff -ru kbd-1.12.orig/src/kbd_mode.c kbd-1.12/src/kbd_mode.c
|
||||||
|
--- kbd-1.12.orig/src/kbd_mode.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/kbd_mode.c 2004-03-30 18:02:49.976870814 +0200
|
||||||
|
@@ -6,6 +6,7 @@
|
||||||
|
*/
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
+#include <unistd.h>
|
||||||
|
#include <sys/ioctl.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <linux/kd.h>
|
||||||
|
@@ -15,13 +16,14 @@
|
||||||
|
|
||||||
|
static void
|
||||||
|
usage(void){
|
||||||
|
- fprintf(stderr, _("usage: kbd_mode [-a|-u|-k|-s]\n"));
|
||||||
|
+ fprintf(stderr, _("usage: kbd_mode [-a|-u|-k|-s] [-C device]\n"));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[]){
|
||||||
|
- int fd, mode;
|
||||||
|
+ int fd, mode, c, n = 0;
|
||||||
|
+ char *console = NULL;
|
||||||
|
|
||||||
|
set_progname(argv[0]);
|
||||||
|
|
||||||
|
@@ -32,9 +34,45 @@
|
||||||
|
if (argc == 2 && !strcmp(argv[1], "-V"))
|
||||||
|
print_version_and_exit();
|
||||||
|
|
||||||
|
- fd = getfd(NULL);
|
||||||
|
+ while ((c = getopt(argc, argv, "auskC:")) != EOF) {
|
||||||
|
+ switch (c) {
|
||||||
|
+ case 'a':
|
||||||
|
+ if (n > 0)
|
||||||
|
+ usage ();
|
||||||
|
+ mode = K_XLATE;
|
||||||
|
+ n++;
|
||||||
|
+ break;
|
||||||
|
+ case 'u':
|
||||||
|
+ if (n > 0)
|
||||||
|
+ usage ();
|
||||||
|
+ mode = K_UNICODE;
|
||||||
|
+ n++;
|
||||||
|
+ break;
|
||||||
|
+ case 's':
|
||||||
|
+ if (n > 0)
|
||||||
|
+ usage ();
|
||||||
|
+ mode = K_RAW;
|
||||||
|
+ n++;
|
||||||
|
+ break;
|
||||||
|
+ case 'k':
|
||||||
|
+ if (n > 0)
|
||||||
|
+ usage ();
|
||||||
|
+ mode = K_MEDIUMRAW;
|
||||||
|
+ n++;
|
||||||
|
+ break;
|
||||||
|
+ case 'C':
|
||||||
|
+ if (!optarg || !optarg[0])
|
||||||
|
+ usage ();
|
||||||
|
+ console = optarg;
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ usage();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ fd = getfd(console);
|
||||||
|
|
||||||
|
- if (argc == 1) {
|
||||||
|
+ if (n == 0) {
|
||||||
|
/* report mode */
|
||||||
|
if (ioctl(fd, KDGKBMODE, &mode)) {
|
||||||
|
perror("KDGKBMODE");
|
||||||
|
@@ -57,20 +95,9 @@
|
||||||
|
default:
|
||||||
|
printf(_("The keyboard is in some unknown mode\n"));
|
||||||
|
}
|
||||||
|
- exit(1);
|
||||||
|
+ exit(0);
|
||||||
|
}
|
||||||
|
- if (argc != 2)
|
||||||
|
- usage();
|
||||||
|
- if (!strcmp(argv[1], "-a"))
|
||||||
|
- mode = K_XLATE;
|
||||||
|
- else if (!strcmp(argv[1], "-u"))
|
||||||
|
- mode = K_UNICODE;
|
||||||
|
- else if (!strcmp(argv[1], "-s"))
|
||||||
|
- mode = K_RAW;
|
||||||
|
- else if (!strcmp(argv[1], "-k"))
|
||||||
|
- mode = K_MEDIUMRAW;
|
||||||
|
- else
|
||||||
|
- usage();
|
||||||
|
+
|
||||||
|
if (ioctl(fd, KDSKBMODE, mode)) {
|
||||||
|
perror("KDSKBMODE");
|
||||||
|
fprintf(stderr, _("%s: error setting keyboard mode\n"), progname);
|
154
kbd-1.12-loadkeys-C-opt.diff
Normal file
154
kbd-1.12-loadkeys-C-opt.diff
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
--- kbd-1.12/man/man1/loadkeys.1.in.orig 2005-03-04 19:10:30.000000000 +0000
|
||||||
|
+++ kbd-1.12/man/man1/loadkeys.1.in 2005-03-04 19:11:13.000000000 +0000
|
||||||
|
@@ -7,6 +7,10 @@
|
||||||
|
[
|
||||||
|
.I -c --clearcompose
|
||||||
|
] [
|
||||||
|
+.I -C '<cons1 cons2 ...>'
|
||||||
|
+|
|
||||||
|
+.I --console=cons1,cons2,...
|
||||||
|
+] [
|
||||||
|
.I -d --default
|
||||||
|
] [
|
||||||
|
.I -h --help
|
||||||
|
@@ -28,6 +32,11 @@
|
||||||
|
reads the file or files specified by
|
||||||
|
.IR filename... .
|
||||||
|
Its main purpose is to load the kernel keymap for the console.
|
||||||
|
+The affected console device or devices can be specified using the
|
||||||
|
+.I -C
|
||||||
|
+(or
|
||||||
|
+.I --console
|
||||||
|
+) option. This option supports a list of device names
|
||||||
|
.SH "RESET TO DEFAULT"
|
||||||
|
If the
|
||||||
|
.I -d
|
||||||
|
--- kbd-1.12/src/loadkeys.y.orig 2005-03-08 17:55:08.000000000 +0000
|
||||||
|
+++ kbd-1.12/src/loadkeys.y 2005-03-08 17:10:06.000000000 +0000
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
static void compose(int diacr, int base, int res);
|
||||||
|
static void do_constant(void);
|
||||||
|
static void do_constant_key (int, u_short);
|
||||||
|
-static void loadkeys(void);
|
||||||
|
+static void loadkeys(char *console, int *warned);
|
||||||
|
static void mktable(void);
|
||||||
|
static void strings_as_usual(void);
|
||||||
|
static void keypad_as_usual(char *keyboard);
|
||||||
|
@@ -250,6 +250,8 @@
|
||||||
|
"valid options are:\n"
|
||||||
|
"\n"
|
||||||
|
" -c --clearcompose clear kernel compose table\n"
|
||||||
|
+" -C <cons1,cons2,...>\n"
|
||||||
|
+" --console=<...> Indicate console device(s) to be used.\n"
|
||||||
|
" -d --default load \"" DEFMAP "\"\n"
|
||||||
|
" -h --help display this help text\n"
|
||||||
|
" -m --mktable output a \"defkeymap.c\" to stdout\n"
|
||||||
|
@@ -269,9 +271,10 @@
|
||||||
|
|
||||||
|
int
|
||||||
|
main(unsigned int argc, char *argv[]) {
|
||||||
|
- const char *short_opts = "cdhmsuqvV";
|
||||||
|
+ const char *short_opts = "cC:dhmsuqvV";
|
||||||
|
const struct option long_opts[] = {
|
||||||
|
{ "clearcompose", no_argument, NULL, 'c' },
|
||||||
|
+ { "console", 1, NULL, 'C' },
|
||||||
|
{ "default", no_argument, NULL, 'd' },
|
||||||
|
{ "help", no_argument, NULL, 'h' },
|
||||||
|
{ "mktable", no_argument, NULL, 'm' },
|
||||||
|
@@ -283,6 +286,8 @@
|
||||||
|
{ NULL, 0, NULL, 0 }
|
||||||
|
};
|
||||||
|
int c;
|
||||||
|
+ char *console = NULL;
|
||||||
|
+ int warned = 0;
|
||||||
|
|
||||||
|
set_progname(argv[0]);
|
||||||
|
|
||||||
|
@@ -292,6 +297,9 @@
|
||||||
|
case 'c':
|
||||||
|
nocompose = 1;
|
||||||
|
break;
|
||||||
|
+ case 'C':
|
||||||
|
+ console = optarg;
|
||||||
|
+ break;
|
||||||
|
case 'd':
|
||||||
|
optd = 1;
|
||||||
|
break;
|
||||||
|
@@ -330,8 +338,26 @@
|
||||||
|
do_constant();
|
||||||
|
if(optm)
|
||||||
|
mktable();
|
||||||
|
+ else if (console)
|
||||||
|
+ {
|
||||||
|
+ char *buf = strdup(console); /* make writable */
|
||||||
|
+ char *e, *s = buf;
|
||||||
|
+ while (*s)
|
||||||
|
+ {
|
||||||
|
+ while ( *s == ' ' || *s == '\t' || *s == ',') s++;
|
||||||
|
+ e = s;
|
||||||
|
+ while (*e && *e != ' ' && *e != '\t' && *e != ',') e++;
|
||||||
|
+ char c = *e;
|
||||||
|
+ *e = '\0';
|
||||||
|
+ if (verbose) printf("%s\n", s);
|
||||||
|
+ loadkeys(s, &warned);
|
||||||
|
+ *e = c;
|
||||||
|
+ s = e;
|
||||||
|
+ }
|
||||||
|
+ free(buf);
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
- loadkeys();
|
||||||
|
+ loadkeys(NULL, &warned);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -760,7 +786,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
-defkeys(int fd) {
|
||||||
|
+defkeys(int fd, char *cons, int *warned) {
|
||||||
|
struct kbentry ke;
|
||||||
|
int ct = 0;
|
||||||
|
int i,j,fail;
|
||||||
|
@@ -845,9 +871,21 @@
|
||||||
|
fprintf(stderr, _("%s: failed to restore keyboard mode\n"),
|
||||||
|
progname);
|
||||||
|
}
|
||||||
|
- fprintf(stderr, _("%s: warning: this map uses Unicode symbols\n"
|
||||||
|
- " (perhaps you want to do `kbd_mode -u'?)\n"),
|
||||||
|
- progname);
|
||||||
|
+
|
||||||
|
+ if (!warned++)
|
||||||
|
+ {
|
||||||
|
+ int kd_mode = -1;
|
||||||
|
+ if (ioctl(fd, KDGETMODE, &kd_mode) || (kd_mode != KD_GRAPHICS))
|
||||||
|
+ {
|
||||||
|
+ /*
|
||||||
|
+ * It is okay for the graphics console to have a non-unicode mode.
|
||||||
|
+ * only talk about other consoles
|
||||||
|
+ */
|
||||||
|
+ fprintf(stderr, _("%s: warning: this map uses Unicode symbols, %s mode=%d\n"
|
||||||
|
+ " (perhaps you want to do `kbd_mode -u'?)\n"),
|
||||||
|
+ progname, cons ? cons : "NULL", kd_mode);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
return ct;
|
||||||
|
}
|
||||||
|
@@ -981,12 +1019,12 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-loadkeys (void) {
|
||||||
|
+loadkeys (char *console, int *warned) {
|
||||||
|
int fd;
|
||||||
|
int keyct, funcct, diacct;
|
||||||
|
|
||||||
|
- fd = getfd(NULL);
|
||||||
|
- keyct = defkeys(fd);
|
||||||
|
+ fd = getfd(console);
|
||||||
|
+ keyct = defkeys(fd, console, &warned);
|
||||||
|
funcct = deffuncs(fd);
|
||||||
|
if (accent_table_size > 0 || nocompose)
|
||||||
|
diacct = defdiacs(fd);
|
23
kbd-1.12-loadkeys-repstdout.diff
Normal file
23
kbd-1.12-loadkeys-repstdout.diff
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
diff -Nur kbd-1.12-5/src/loadkeys.y kbd-1.12-6/src/loadkeys.y
|
||||||
|
--- kbd-1.12-5/src/loadkeys.y 2004-02-26 22:49:25.000000000 +0100
|
||||||
|
+++ kbd-1.12-6/src/loadkeys.y 2004-02-26 22:52:44.000000000 +0100
|
||||||
|
@@ -537,7 +537,7 @@
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
/* start reading include file */
|
||||||
|
- fprintf(stderr, _("switching to %s\n"), s);
|
||||||
|
+ fprintf(stdout, _("switching to %s\n"), s);
|
||||||
|
|
||||||
|
lk_push();
|
||||||
|
|
||||||
|
@@ -613,8 +613,8 @@
|
||||||
|
*/
|
||||||
|
gotf:
|
||||||
|
filename = xstrdup(pathname);
|
||||||
|
- if (!quiet)
|
||||||
|
- fprintf(stderr, _("Loading %s\n"), pathname);
|
||||||
|
+ if (!quiet && !optm)
|
||||||
|
+ fprintf(stdout, _("Loading %s\n"), pathname);
|
||||||
|
if (first_file) {
|
||||||
|
yyin = f;
|
||||||
|
first_file = 0;
|
99
kbd-1.12-mac-de.diff
Normal file
99
kbd-1.12-mac-de.diff
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
---
|
||||||
|
data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map | 2 -
|
||||||
|
data/keymaps/mac/all/mac-de-latin1.map | 38 ++++++++++++----------
|
||||||
|
data/keymaps/mac/include/mac-euro2.map | 6 +++
|
||||||
|
3 files changed, 28 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
Index: kbd-1.12/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map
|
||||||
|
===================================================================
|
||||||
|
--- kbd-1.12.orig/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map
|
||||||
|
+++ kbd-1.12/data/keymaps/mac/all/mac-de-latin1-nodeadkeys.map
|
||||||
|
@@ -7,7 +7,7 @@ include "mac-de-latin1.map"
|
||||||
|
keycode 24 = apostrophe grave
|
||||||
|
keycode 30 = plus asterisk asciitilde
|
||||||
|
keycode 50 = asciicircum degree
|
||||||
|
- alt keycode 45 = asciitilde
|
||||||
|
+ altgr keycode 45 = asciitilde
|
||||||
|
|
||||||
|
# corresponding keys in mac-de-latin1.map:
|
||||||
|
# keycode 24 = dead_acute dead_grave
|
||||||
|
Index: kbd-1.12/data/keymaps/mac/all/mac-de-latin1.map
|
||||||
|
===================================================================
|
||||||
|
--- kbd-1.12.orig/data/keymaps/mac/all/mac-de-latin1.map
|
||||||
|
+++ kbd-1.12/data/keymaps/mac/all/mac-de-latin1.map
|
||||||
|
@@ -11,22 +11,23 @@ include "mac-qwerty-layout"
|
||||||
|
#include "linux-with-alt-and-altgr"
|
||||||
|
include "mac-linux-keys-bare.inc"
|
||||||
|
plain keycode 65 = KP_Comma
|
||||||
|
-include "mac-euro.map"
|
||||||
|
+include "mac-euro2.map"
|
||||||
|
compose as usual for "iso-8859-1"
|
||||||
|
strings as usual
|
||||||
|
|
||||||
|
-# Normal Shift AltGr Strg
|
||||||
|
-# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt
|
||||||
|
-keycode 26 = seven slash braceleft a b c d e f g h i j k
|
||||||
|
+# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt
|
||||||
|
keycode 18 = one exclam
|
||||||
|
shift altgr keycode 18 = at
|
||||||
|
-keycode 19 = two quotedbl twosuperior nul
|
||||||
|
-keycode 20 = three section threesuperior Escape
|
||||||
|
+keycode 19 = two quotedbl twosuperior
|
||||||
|
+ control keycode 19 = nul
|
||||||
|
+keycode 20 = three section threesuperior
|
||||||
|
+ control keycode 29 = Escape
|
||||||
|
keycode 21 = four dollar
|
||||||
|
-keycode 23 = five percent
|
||||||
|
-keycode 22 = six ampersand
|
||||||
|
-keycode 28 = eight parenleft bracketleft
|
||||||
|
-keycode 25 = nine parenright bracketright
|
||||||
|
+keycode 23 = five percent bracketleft
|
||||||
|
+keycode 22 = six ampersand bracketright
|
||||||
|
+keycode 26 = seven slash bar
|
||||||
|
+keycode 28 = eight parenleft braceleft
|
||||||
|
+keycode 25 = nine parenright braceright
|
||||||
|
control altgr keycode 25 = Control_bracketright
|
||||||
|
keycode 29 = zero equal braceright
|
||||||
|
keycode 27 = ssharp question backslash
|
||||||
|
@@ -38,20 +39,23 @@ keycode 33 = +udiaeresis +Udiaere
|
||||||
|
keycode 30 = plus asterisk dead_tilde
|
||||||
|
keycode 41 = +odiaeresis +Odiaeresis
|
||||||
|
keycode 39 = +adiaeresis +Adiaeresis
|
||||||
|
-keycode 10 = dead_circumflex degree Meta_asciicircum Control_asciicircum
|
||||||
|
+keycode 50 = dead_circumflex degree
|
||||||
|
+ alt keycode 50 = Meta_asciicircum
|
||||||
|
+ control keycode 50 = Control_asciicircum
|
||||||
|
keycode 42 = numbersign apostrophe
|
||||||
|
keycode 43 = comma semicolon
|
||||||
|
keycode 47 = period colon
|
||||||
|
-keycode 44 = minus underscore Meta_minus
|
||||||
|
+keycode 44 = minus underscore
|
||||||
|
shift control keycode 44 = Control_underscore
|
||||||
|
-keycode 49 = space space Meta_space nul
|
||||||
|
+keycode 49 = space space
|
||||||
|
+ control keycode 49 = nul
|
||||||
|
keycode 10 = less greater bar
|
||||||
|
|
||||||
|
keycode 16 = z
|
||||||
|
keycode 6 = y
|
||||||
|
|
||||||
|
- alt keycode 12 = at
|
||||||
|
- alt keycode 50 = bar
|
||||||
|
+ altgr keycode 12 = at
|
||||||
|
+ altgr keycode 37 = at
|
||||||
|
+ altgr keycode 42 = bar
|
||||||
|
# altgr keycode 26 = bar
|
||||||
|
- alt keycode 30 = dead_tilde
|
||||||
|
- alt keycode 45 = dead_tilde
|
||||||
|
+ altgr keycode 45 = dead_tilde
|
||||||
|
Index: kbd-1.12/data/keymaps/mac/include/mac-euro2.map
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ kbd-1.12/data/keymaps/mac/include/mac-euro2.map
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+# Euro and cent
|
||||||
|
+# [Say: "loadkeys mac-euro2" to get Euro and cent with AltGr (Option key)
|
||||||
|
+# on the positions where many keyboards have E and C.
|
||||||
|
+# To get it displayed, use a latin0 (i.e., latin9) font.]
|
||||||
|
+altgr keycode 14 = currency
|
||||||
|
+altgr keycode 8 = cent
|
26
kbd-1.12-mac-dk.diff
Normal file
26
kbd-1.12-mac-dk.diff
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
diff -Nur kbd-1.12-6/data/keymaps/mac/all/mac-dk-latin1.map kbd-1.12-7/data/keymaps/mac/all/mac-dk-latin1.map
|
||||||
|
--- kbd-1.12-6/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 22:52:20.000000000 +0100
|
||||||
|
+++ kbd-1.12-7/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 22:57:47.000000000 +0100
|
||||||
|
@@ -23,18 +23,20 @@
|
||||||
|
keycode 25 = nine parenright bracketright
|
||||||
|
keycode 29 = zero equal
|
||||||
|
keycode 27 = plus question
|
||||||
|
-keycode 24 = acute grave
|
||||||
|
+keycode 24 = acute grave at
|
||||||
|
keycode 33 = aring Aring
|
||||||
|
keycode 30 = diaeresis circumflex asciitilde
|
||||||
|
keycode 41 = ae AE adiaeresis Adiaeresis
|
||||||
|
keycode 39 = oslash Oslash odiaeresis Odiaeresis
|
||||||
|
-keycode 42 = apostrophe asterisk
|
||||||
|
+keycode 42 = apostrophe asterisk at
|
||||||
|
keycode 43 = comma semicolon
|
||||||
|
keycode 47 = period colon
|
||||||
|
keycode 44 = minus underscore Meta_minus
|
||||||
|
shift control keycode 44 = Control_underscore
|
||||||
|
keycode 49 = space space Meta_space nul
|
||||||
|
keycode 10 = less greater bar
|
||||||
|
+# odd
|
||||||
|
+keycode 34 = i I bar
|
||||||
|
|
||||||
|
|
||||||
|
alt keycode 12 = at
|
24
kbd-1.12-noclaudio.diff
Normal file
24
kbd-1.12-noclaudio.diff
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
diff -Nur kbd-1.12-3/data/keymaps/mac/all/mac-de_CH.map kbd-1.12-4/data/keymaps/mac/all/mac-de_CH.map
|
||||||
|
--- kbd-1.12-3/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 22:39:18.000000000 +0100
|
||||||
|
+++ kbd-1.12-4/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 22:48:31.000000000 +0100
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
! CtrlR 128 not used
|
||||||
|
|
||||||
|
! plain,shift,command,control,alt,ctrl-alt
|
||||||
|
-# from http://www.claudio.ch/Etc/pb-sg.kmap
|
||||||
|
+# from Claudio Nieder
|
||||||
|
# modified by olh@suse.de
|
||||||
|
|
||||||
|
alt_is_meta
|
||||||
|
diff -Nur kbd-1.12-3/data/keymaps/mac/all/mac-fr_CH-latin1.map kbd-1.12-4/data/keymaps/mac/all/mac-fr_CH-latin1.map
|
||||||
|
--- kbd-1.12-3/data/keymaps/mac/all/mac-fr_CH-latin1.map 2004-02-26 22:39:18.000000000 +0100
|
||||||
|
+++ kbd-1.12-4/data/keymaps/mac/all/mac-fr_CH-latin1.map 2004-02-26 22:48:31.000000000 +0100
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
! CtrlR 128 not used
|
||||||
|
|
||||||
|
! plain,shift,command,control,alt,ctrl-alt
|
||||||
|
-# from http://www.claudio.ch/Etc/pb-sg.kmap
|
||||||
|
+# from Claudio Nieder
|
||||||
|
# modified by olh@suse.de from mac-de_CH
|
||||||
|
|
||||||
|
alt_is_meta
|
44
kbd-1.12-nohang-kbdrate2.diff
Normal file
44
kbd-1.12-nohang-kbdrate2.diff
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
diff -Nur kbd-1.12-4/src/kbdrate.c kbd-1.12-5/src/kbdrate.c
|
||||||
|
--- kbd-1.12-4/src/kbdrate.c 2004-02-26 22:46:55.000000000 +0100
|
||||||
|
+++ kbd-1.12-5/src/kbdrate.c 2004-02-26 22:50:19.000000000 +0100
|
||||||
|
@@ -90,6 +90,8 @@
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include <signal.h>
|
||||||
|
+
|
||||||
|
#include "nls.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
|
@@ -185,6 +187,12 @@
|
||||||
|
#endif /* KIOCSRATE */
|
||||||
|
}
|
||||||
|
|
||||||
|
+void
|
||||||
|
+sigalrmhandler( int sig ) {
|
||||||
|
+ fprintf( stderr, "kbdrate: Failed waiting for kbd controller!\n" );
|
||||||
|
+ raise( SIGINT );
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main( int argc, char **argv ) {
|
||||||
|
#ifdef __sparc__
|
||||||
|
@@ -260,6 +268,9 @@
|
||||||
|
exit( 1 );
|
||||||
|
}
|
||||||
|
|
||||||
|
+ signal( SIGALRM, sigalrmhandler );
|
||||||
|
+ alarm( 3 );
|
||||||
|
+
|
||||||
|
do {
|
||||||
|
lseek( fd, 0x64, 0 );
|
||||||
|
read( fd, &data, 1 );
|
||||||
|
@@ -274,6 +285,8 @@
|
||||||
|
read( fd, &data, 1 );
|
||||||
|
} while ((data & 2) == 2 ); /* wait */
|
||||||
|
|
||||||
|
+ alarm( 0 );
|
||||||
|
+
|
||||||
|
lseek( fd, 0x60, 0 );
|
||||||
|
sleep( 1 );
|
||||||
|
write( fd, &value, 1 );
|
40
kbd-1.12-nounicode-nontty.diff
Normal file
40
kbd-1.12-nounicode-nontty.diff
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff -Nur kbd-1.12-13/src/unicode_start kbd-1.12-14/src/unicode_start
|
||||||
|
--- kbd-1.12-13/src/unicode_start 2004-02-27 17:22:32.000000000 +0100
|
||||||
|
+++ kbd-1.12-14/src/unicode_start 2004-02-27 17:24:51.000000000 +0100
|
||||||
|
@@ -1,6 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Enables Unicode processing in the current console.
|
||||||
|
-#
|
||||||
|
+
|
||||||
|
+# 0. Check whether we're on a console
|
||||||
|
+TTY=`/usr/bin/tty`
|
||||||
|
+case $TTY in
|
||||||
|
+ /dev/console|/dev/tty[0-9]*)
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ echo "unicode_start skipped on $TTY"
|
||||||
|
+ exit 0
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
+
|
||||||
|
# 1. The input side: the keyboard driver.
|
||||||
|
|
||||||
|
# Set the keyboard driver in Unicode mode. (Default is ASCII mode.)
|
||||||
|
diff -Nur kbd-1.12-13/src/unicode_stop kbd-1.12-14/src/unicode_stop
|
||||||
|
--- kbd-1.12-13/src/unicode_stop 2004-02-27 17:22:32.000000000 +0100
|
||||||
|
+++ kbd-1.12-14/src/unicode_stop 2004-02-27 17:24:51.000000000 +0100
|
||||||
|
@@ -1,5 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# stop unicode
|
||||||
|
+TTY=`/usr/bin/tty`
|
||||||
|
+case $TTY in
|
||||||
|
+ /dev/console|/dev/tty[0-9]*)
|
||||||
|
+ ;;
|
||||||
|
+ *)
|
||||||
|
+ echo "unicode_stop skipped on $TTY"
|
||||||
|
+ exit 0
|
||||||
|
+ ;;
|
||||||
|
+esac
|
||||||
|
kbd_mode -a
|
||||||
|
echo -n -e '\033%@'
|
||||||
|
|
285
kbd-1.12-prtscr_no_sigquit.diff
Normal file
285
kbd-1.12-prtscr_no_sigquit.diff
Normal file
@ -0,0 +1,285 @@
|
|||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/azerty/fr-latin9.map kbd-1.12-1/data/keymaps/i386/azerty/fr-latin9.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/azerty/fr-latin9.map 2002-10-13 01:47:01.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/azerty/fr-latin9.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -417,6 +417,7 @@
|
||||||
|
# La touche Ctrl+Pause = Attn = 101 a un code pour elle-męme
|
||||||
|
#
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
|
||||||
|
keycode 102 = Home
|
||||||
|
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.12-1/data/keymaps/i386/fgGIod/tr_f-latin5.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/fgGIod/tr_f-latin5.map 2002-10-13 02:21:12.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/fgGIod/tr_f-latin5.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -217,6 +217,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/bg-cp1251.map kbd-1.12-1/data/keymaps/i386/qwerty/bg-cp1251.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/bg-cp1251.map 2004-01-03 18:07:57.000000000 +0100
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/bg-cp1251.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -311,6 +311,7 @@
|
||||||
|
altgr alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/bg_bds-cp1251.map kbd-1.12-1/data/keymaps/i386/qwerty/bg_bds-cp1251.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/bg_bds-cp1251.map 2002-10-14 01:39:32.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/bg_bds-cp1251.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -636,6 +636,7 @@
|
||||||
|
keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/br-abnt.map kbd-1.12-1/data/keymaps/i386/qwerty/br-abnt.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/br-abnt.map 2002-10-13 02:10:14.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/br-abnt.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -197,6 +197,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/by.map kbd-1.12-1/data/keymaps/i386/qwerty/by.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/by.map 2002-10-13 02:10:31.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/by.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -529,6 +529,7 @@
|
||||||
|
Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
|
||||||
|
keycode 100 = Alt
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up Up Up \
|
||||||
|
KeyboardSignal Up Up \
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-cp1250.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-cp1250.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/cz-cp1250.map 2002-10-13 02:12:14.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-cp1250.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -138,6 +138,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2-prog.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2-prog.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2-prog.map 2002-10-13 02:02:58.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2-prog.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -141,6 +141,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2.map kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/cz-lat2.map 2002-10-13 02:03:21.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/cz-lat2.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -138,6 +138,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/cz.map kbd-1.12-1/data/keymaps/i386/qwerty/cz.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/cz.map 2002-10-11 13:08:50.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/cz.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -1083,13 +1083,13 @@
|
||||||
|
keycode 100 = AltGr
|
||||||
|
#
|
||||||
|
#keycode 101 = Break
|
||||||
|
-keycode 101 = Break Break VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
- VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
+keycode 101 = Break Break VoidSymbol VoidSymbol Control_c \
|
||||||
|
+ Control_c VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol \
|
||||||
|
- Break Break VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
- VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
+ Break Break VoidSymbol VoidSymbol Control_c \
|
||||||
|
+ Control_c VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
|
||||||
|
VoidSymbol
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map 2004-02-27 19:03:48.000000000 +0100
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -222,6 +222,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap_V1.0.map kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap_V1.0.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap_V1.0.map 2002-10-13 02:05:31.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/defkeymap_V1.0.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -185,6 +185,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.baltic.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.baltic.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/lt.baltic.map 2002-10-13 02:09:50.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.baltic.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -171,6 +171,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.l4.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.l4.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/lt.l4.map 2002-10-13 01:59:51.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.l4.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -463,6 +463,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break # 101=Control-Pause
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
string F102 = "\033[7$"
|
||||||
|
keycode 102 = Find # =Home
|
||||||
|
shift keycode 102 = F102
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/lt.map kbd-1.12-1/data/keymaps/i386/qwerty/lt.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/lt.map 2002-10-13 02:00:25.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/lt.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -462,6 +462,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break # 101=Control-Pause
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
string F102 = "\033[7$"
|
||||||
|
keycode 102 = Find # =Home
|
||||||
|
shift keycode 102 = F102
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/pl2.map kbd-1.12-1/data/keymaps/i386/qwerty/pl2.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/pl2.map 2002-10-13 02:06:29.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/pl2.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -241,6 +241,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
control keycode 102 = F106
|
||||||
|
keycode 103 = Up
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/sk-prog-qwerty.map kbd-1.12-1/data/keymaps/i386/qwerty/sk-prog-qwerty.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/sk-prog-qwerty.map 2002-10-13 02:09:26.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/sk-prog-qwerty.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -122,6 +122,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf-ws.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf-ws.map 2002-10-13 02:07:56.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf-ws.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -1526,6 +1526,7 @@
|
||||||
|
ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
ctrll ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/ua-utf.map 2002-10-13 02:08:07.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-utf.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -1516,6 +1516,7 @@
|
||||||
|
ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
ctrll ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua-ws.map kbd-1.12-1/data/keymaps/i386/qwerty/ua-ws.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/ua-ws.map 2002-10-13 02:08:19.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/ua-ws.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -1521,6 +1521,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = Alt
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/ua.map kbd-1.12-1/data/keymaps/i386/qwerty/ua.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/ua.map 2002-10-13 02:08:31.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/ua.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -1515,6 +1515,7 @@
|
||||||
|
ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
ctrll ctrlr keycode 100 = CtrlR_Lock
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwerty/us-acentos.map kbd-1.12-1/data/keymaps/i386/qwerty/us-acentos.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwerty/us-acentos.map 2002-10-13 02:10:02.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwerty/us-acentos.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -193,6 +193,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/cz-us-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/cz-us-qwertz.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwertz/cz-us-qwertz.map 2002-10-13 01:56:20.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwertz/cz-us-qwertz.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -135,6 +135,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior Scroll_Backward Prior Scroll_Backward VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/sk-prog-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/sk-prog-qwertz.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwertz/sk-prog-qwertz.map 2002-10-13 01:57:30.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwertz/sk-prog-qwertz.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -122,6 +122,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
||||||
|
diff -ur kbd-1.12-0/data/keymaps/i386/qwertz/sk-qwertz.map kbd-1.12-1/data/keymaps/i386/qwertz/sk-qwertz.map
|
||||||
|
--- kbd-1.12-0/data/keymaps/i386/qwertz/sk-qwertz.map 2002-10-13 01:56:48.000000000 +0200
|
||||||
|
+++ kbd-1.12-1/data/keymaps/i386/qwertz/sk-qwertz.map 2004-02-27 19:04:47.000000000 +0100
|
||||||
|
@@ -123,6 +123,7 @@
|
||||||
|
alt keycode 99 = Control_backslash
|
||||||
|
keycode 100 = AltGr
|
||||||
|
keycode 101 = Break
|
||||||
|
+ control keycode 101 = Control_c
|
||||||
|
keycode 102 = Find
|
||||||
|
keycode 103 = Up
|
||||||
|
keycode 104 = Prior
|
29
kbd-1.12-setfont-fpclose.diff
Normal file
29
kbd-1.12-setfont-fpclose.diff
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
--- kbd-1.12/src/setfont.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/setfont.c 2006-06-21 17:28:56.999867425 +0200
|
||||||
|
@@ -398,8 +398,10 @@
|
||||||
|
fprintf(stderr, _("When loading several fonts, all "
|
||||||
|
"must be psf fonts - %s isn't\n"),
|
||||||
|
pathname);
|
||||||
|
+ fpclose(fpi);
|
||||||
|
exit(EX_DATAERR);
|
||||||
|
}
|
||||||
|
+ fpclose(fpi); // avoid zombies, jw@suse.de (#88501)
|
||||||
|
bytewidth = (width+7) / 8;
|
||||||
|
height = fontbuflth / (bytewidth * fontsize);
|
||||||
|
if (verbose)
|
||||||
|
@@ -483,6 +485,7 @@
|
||||||
|
if(readpsffont(fpi, &inbuf, &inputlth, &fontbuf, &fontbuflth,
|
||||||
|
&width, &fontsize, 0,
|
||||||
|
no_u ? NULL : &uclistheads) == 0) {
|
||||||
|
+ fpclose(fpi);
|
||||||
|
/* we've got a psf font */
|
||||||
|
bytewidth = (width+7) / 8;
|
||||||
|
height = fontbuflth / (bytewidth * fontsize);
|
||||||
|
@@ -497,6 +500,7 @@
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+ fpclose(fpi); // avoid zombies, jw@suse.de (#88501)
|
||||||
|
|
||||||
|
/* instructions to combine fonts? */
|
||||||
|
{ char *combineheader = "# combine partial fonts\n";
|
44
kbd-1.12-setfont-no-cruft.diff
Normal file
44
kbd-1.12-setfont-no-cruft.diff
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
--- kbd-1.12/src/kdfontop.c.orig 2007-08-21 19:28:47.000000000 +0200
|
||||||
|
+++ kbd-1.12/src/kdfontop.c 2007-08-21 19:32:50.000000000 +0200
|
||||||
|
@@ -268,26 +268,19 @@
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* Second attempt: PIO_FONTX */
|
||||||
|
- cfd.charcount = count;
|
||||||
|
- cfd.charheight = height;
|
||||||
|
- cfd.chardata = buf;
|
||||||
|
- i = ioctl(fd, PIO_FONTX, &cfd);
|
||||||
|
- if (i == 0)
|
||||||
|
- return 0;
|
||||||
|
- if (errno != ENOSYS && errno != EINVAL) {
|
||||||
|
- fprintf(stderr, "%s: putfont: %d,%dx%d:failed: %d\n", progname, count, width, height, i);
|
||||||
|
- perror("putfont: PIO_FONTX");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- /* Third attempt: PIO_FONT */
|
||||||
|
- /* This will load precisely 256 chars, independent of count */
|
||||||
|
- i = ioctl(fd, PIO_FONT, buf);
|
||||||
|
- if (i) {
|
||||||
|
- fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i);
|
||||||
|
- perror("putfont: PIO_FONT");
|
||||||
|
- return -1;
|
||||||
|
- }
|
||||||
|
- return 0;
|
||||||
|
+ // We no longer try PIO_FONT* calls.
|
||||||
|
+ // A former patch even added a possible 5 seconds delay loop here, in an attempt to
|
||||||
|
+ // gain victory over kdm. We no do this fight, as it can only result in races.
|
||||||
|
+ // https://bugzilla.novell.com/show_bug.cgi?id=302010
|
||||||
|
+ //
|
||||||
|
+ // Two effects:
|
||||||
|
+ // a) Without the delay loop, we are fast enough to run early.
|
||||||
|
+ // Moving setfont calls to an earlier point most likly
|
||||||
|
+ // avoids the race.
|
||||||
|
+ // b) Without the old compat calls, it should be easier to
|
||||||
|
+ // fix this in kernel side.
|
||||||
|
+ //
|
||||||
|
+ fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i);
|
||||||
|
+ perror("putfont: KDFONTOP");
|
||||||
|
+ return -1;
|
||||||
|
}
|
113
kbd-1.12-showconsolefont-info.diff
Normal file
113
kbd-1.12-showconsolefont-info.diff
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
--- kbd-1.12/src/kdfontop.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/kdfontop.c 2006-07-26 18:14:55.000000000 +0200
|
||||||
|
@@ -142,8 +142,11 @@
|
||||||
|
return h;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* may be called with buf==NULL if we only want info */
|
||||||
|
-/* must not exit - we may have cleanup to do */
|
||||||
|
+/*
|
||||||
|
+ * May be called with buf==NULL if we only want info.
|
||||||
|
+ * May be called with width==NULL and height==NULL.
|
||||||
|
+ * Must not exit - we may have cleanup to do.
|
||||||
|
+ */
|
||||||
|
int
|
||||||
|
getfont(int fd, char *buf, int *count, int *width, int *height) {
|
||||||
|
struct consolefontdesc cfd;
|
||||||
|
@@ -193,6 +196,11 @@
|
||||||
|
fprintf(stderr, _("bug: getfont called with count<256\n"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+ if (!buf)
|
||||||
|
+ {
|
||||||
|
+ fprintf(stderr, _("bug: getfont using GIO_FONT needs buf.\n"));
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
i = ioctl(fd, GIO_FONT, buf);
|
||||||
|
if (i) {
|
||||||
|
perror("getfont: GIO_FONT");
|
||||||
|
@@ -208,11 +216,11 @@
|
||||||
|
|
||||||
|
int
|
||||||
|
getfontsize(int fd) {
|
||||||
|
- int count, width, height;
|
||||||
|
+ int count;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
- count = width = height = 0;
|
||||||
|
- i = getfont(fd, NULL, &count, &width, &height);
|
||||||
|
+ count = 0;
|
||||||
|
+ i = getfont(fd, NULL, &count, NULL, NULL);
|
||||||
|
return (i == 0) ? count : 256;
|
||||||
|
}
|
||||||
|
|
||||||
|
--- kbd-1.12/src/showconsolefont.c.orig 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/showconsolefont.c 2006-07-26 18:40:31.000000000 +0200
|
||||||
|
@@ -101,8 +101,15 @@
|
||||||
|
static void
|
||||||
|
usage(void) {
|
||||||
|
fprintf(stderr,
|
||||||
|
- _("usage: showconsolefont [-v|-V]\n"
|
||||||
|
- "(probably after loading a font with `setfont font')\n"));
|
||||||
|
+ _("usage: showconsolefont -V|--version\n"
|
||||||
|
+ " showconsolefont [-C tty] [-v] [-i]\n"
|
||||||
|
+ "(probably after loading a font with `setfont font')\n"
|
||||||
|
+ "\n"
|
||||||
|
+ "Valid options are:\n"
|
||||||
|
+ " -C tty Device to read the font from. Default: current tty.\n"
|
||||||
|
+ " -v Be more verbose.\n"
|
||||||
|
+ " -i Don't print out the font table, just show\n"
|
||||||
|
+ " ROWSxCOLSxCOUNT and exit.\n"));
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -110,7 +117,7 @@
|
||||||
|
main (int argc, char **argv) {
|
||||||
|
int c, n, cols, rows, nr, i, j, k;
|
||||||
|
char *sep, *console = NULL;
|
||||||
|
- int list[64], lth, verbose = 0;
|
||||||
|
+ int list[64], lth, info = 0, verbose = 0;
|
||||||
|
|
||||||
|
set_progname(argv[0]);
|
||||||
|
|
||||||
|
@@ -122,8 +129,11 @@
|
||||||
|
(!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version")))
|
||||||
|
print_version_and_exit();
|
||||||
|
|
||||||
|
- while ((c = getopt(argc, argv, "vC:")) != EOF) {
|
||||||
|
+ while ((c = getopt(argc, argv, "ivC:")) != EOF) {
|
||||||
|
switch (c) {
|
||||||
|
+ case 'i':
|
||||||
|
+ info = 1;
|
||||||
|
+ break;
|
||||||
|
case 'v':
|
||||||
|
verbose = 1;
|
||||||
|
break;
|
||||||
|
@@ -135,9 +145,26 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (argc != 1)
|
||||||
|
+ if (optind != argc)
|
||||||
|
usage();
|
||||||
|
|
||||||
|
+ if (info)
|
||||||
|
+ {
|
||||||
|
+ nr = rows = cols = 0;
|
||||||
|
+ n = getfont(fd, NULL, &nr, &rows, &cols);
|
||||||
|
+ if (n != 0)
|
||||||
|
+ leave(1);
|
||||||
|
+ if (verbose)
|
||||||
|
+ {
|
||||||
|
+ printf("Character count: %d\n", nr);
|
||||||
|
+ printf("Font width : %d\n", rows);
|
||||||
|
+ printf("Font height : %d\n", cols);
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ printf("%dx%dx%d\n", rows, cols, nr);
|
||||||
|
+ leave(0);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
fd = getfd(console);
|
||||||
|
|
||||||
|
settrivialscreenmap();
|
48
kbd-1.12-strip.diff
Normal file
48
kbd-1.12-strip.diff
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
openvt/Makefile | 2 +-
|
||||||
|
src/Makefile.in | 8 ++++----
|
||||||
|
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
Index: kbd-1.12/src/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- kbd-1.12.orig/src/Makefile.in 2006-01-13 15:03:29.000000000 +0100
|
||||||
|
+++ kbd-1.12/src/Makefile.in 2006-01-13 15:04:24.000000000 +0100
|
||||||
|
@@ -56,7 +56,7 @@ WARN = -Wall -Wmissing-prototypes -Wstri
|
||||||
|
DEFS = -DDATADIR=\"$(DATA_DIR)\"
|
||||||
|
RPM_OPT_FLAGS = -O2 -Wall
|
||||||
|
CFLAGS = $(RPM_OPT_FLAGS)
|
||||||
|
-LDFLAGS = -s
|
||||||
|
+LDFLAGS =
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
YACC = bison -y
|
||||||
|
@@ -73,14 +73,14 @@ old: $(OLDPROGS)
|
||||||
|
|
||||||
|
install: all
|
||||||
|
install -d -m 0755 $(BINDIR) $(LOADKEYS_BINDIR)
|
||||||
|
- install -s -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR)
|
||||||
|
-# install -s -m 0755 $(setowner) $(MISC) $(BINDIR)
|
||||||
|
+ install -m 0755 $(setowner) $(PROGS) $(OLDPROGS) $(BINDIR)
|
||||||
|
+# install -m 0755 $(setowner) $(MISC) $(BINDIR)
|
||||||
|
install -c -m 0755 $(setowner) $(SHCMDS) $(BINDIR)
|
||||||
|
for i in psfaddtable psfgettable psfstriptable; do \
|
||||||
|
rm -f $(BINDIR)/$$i; ln -s psfxtable $(BINDIR)/$$i; \
|
||||||
|
done
|
||||||
|
rm -f $(BINDIR)/loadkeys
|
||||||
|
- install -s -m 0755 $(setowner) loadkeys $(LOADKEYS_BINDIR)
|
||||||
|
+ install -m 0755 $(setowner) loadkeys $(LOADKEYS_BINDIR)
|
||||||
|
@echo "You may also want to add psf.magic to /usr/lib/magic"
|
||||||
|
|
||||||
|
|
||||||
|
Index: kbd-1.12/openvt/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- kbd-1.12.orig/openvt/Makefile 2006-01-13 15:03:29.000000000 +0100
|
||||||
|
+++ kbd-1.12/openvt/Makefile 2006-01-13 15:09:53.000000000 +0100
|
||||||
|
@@ -2,7 +2,7 @@
|
||||||
|
CC=gcc
|
||||||
|
RPM_OPT_FLAGS=-O2 -Wall -ansi
|
||||||
|
CFLAGS=$(RPM_OPT_FLAGS)
|
||||||
|
-LDFLAGS=$(CFLAGS) -s
|
||||||
|
+LDFLAGS=$(CFLAGS)
|
||||||
|
|
||||||
|
SRC=openvt.c
|
||||||
|
OBJ=openvt.o getfd.o
|
73
kbd-1.12-swiss.diff
Normal file
73
kbd-1.12-swiss.diff
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
diff -Nur kbd-1.12-1/data/keymaps/i386/qwertz/fr_CH-latin1.map kbd-1.12-2/data/keymaps/i386/qwertz/fr_CH-latin1.map
|
||||||
|
--- kbd-1.12-1/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 22:12:57.000000000 +0100
|
||||||
|
+++ kbd-1.12-2/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 22:37:52.000000000 +0100
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
|
||||||
|
keycode 1 = Escape Escape
|
||||||
|
alt keycode 1 = Meta_Escape
|
||||||
|
-keycode 2 = one plus
|
||||||
|
+keycode 2 = one plus bar
|
||||||
|
alt keycode 2 = Meta_one
|
||||||
|
keycode 3 = two quotedbl at
|
||||||
|
control keycode 3 = nul
|
||||||
|
@@ -15,10 +15,10 @@
|
||||||
|
keycode 4 = three asterisk numbersign
|
||||||
|
control keycode 4 = Escape
|
||||||
|
alt keycode 4 = Meta_three
|
||||||
|
-keycode 5 = four ccedilla
|
||||||
|
+keycode 5 = four ccedilla degree
|
||||||
|
control keycode 5 = Control_backslash
|
||||||
|
alt keycode 5 = Meta_four
|
||||||
|
-keycode 6 = five percent
|
||||||
|
+keycode 6 = five percent section
|
||||||
|
control keycode 6 = Control_bracketright
|
||||||
|
alt keycode 6 = Meta_five
|
||||||
|
keycode 7 = six ampersand notsign
|
||||||
|
@@ -81,3 +81,6 @@
|
||||||
|
keycode 86 = less greater backslash
|
||||||
|
alt keycode 86 = Meta_less
|
||||||
|
keycode 97 = Control
|
||||||
|
+# adapted to X11 keymap
|
||||||
|
+altgr keycode 18 = currency
|
||||||
|
+#altgr keycode 46 = cent
|
||||||
|
diff -Nur kbd-1.12-1/data/keymaps/i386/qwertz/sg-latin1.map kbd-1.12-2/data/keymaps/i386/qwertz/sg-latin1.map
|
||||||
|
--- kbd-1.12-1/data/keymaps/i386/qwertz/sg-latin1.map 2002-10-12 21:57:22.000000000 +0200
|
||||||
|
+++ kbd-1.12-2/data/keymaps/i386/qwertz/sg-latin1.map 2004-02-26 22:37:52.000000000 +0100
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
|
||||||
|
keycode 1 = Escape Escape
|
||||||
|
alt keycode 1 = Meta_Escape
|
||||||
|
-keycode 2 = one plus bar
|
||||||
|
+keycode 2 = one plus bar
|
||||||
|
alt keycode 2 = Meta_one
|
||||||
|
keycode 3 = two quotedbl at
|
||||||
|
control keycode 3 = nul
|
||||||
|
@@ -13,10 +13,10 @@
|
||||||
|
keycode 4 = three asterisk numbersign
|
||||||
|
control keycode 4 = Escape
|
||||||
|
alt keycode 4 = Meta_three
|
||||||
|
-keycode 5 = four ccedilla
|
||||||
|
+keycode 5 = four ccedilla degree
|
||||||
|
control keycode 5 = Control_backslash
|
||||||
|
alt keycode 5 = Meta_four
|
||||||
|
-keycode 6 = five percent
|
||||||
|
+keycode 6 = five percent section
|
||||||
|
control keycode 6 = Control_bracketright
|
||||||
|
alt keycode 6 = Meta_five
|
||||||
|
keycode 7 = six ampersand notsign
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
keycode 26 = udiaeresis egrave bracketleft
|
||||||
|
control keycode 26 = Escape
|
||||||
|
alt keycode 26 = Meta_bracketleft
|
||||||
|
-keycode 27 = dead_diaeresis exclam bracketright
|
||||||
|
+keycode 27 = dead_diaeresis exclam bracketright
|
||||||
|
control keycode 27 = Control_bracketright
|
||||||
|
alt keycode 27 = Meta_bracketright
|
||||||
|
keycode 28 = Return
|
||||||
|
@@ -85,3 +85,6 @@
|
||||||
|
keycode 86 = less greater backslash
|
||||||
|
alt keycode 86 = Meta_less
|
||||||
|
keycode 97 = Control
|
||||||
|
+# adapted to X11 keymap
|
||||||
|
+altgr keycode 18 = currency
|
||||||
|
+#altgr keycode 46 = cent
|
79
kbd-1.12-unicode_scripts.diff
Normal file
79
kbd-1.12-unicode_scripts.diff
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
diff -Nur kbd-1.12-11/src/unicode_start kbd-1.12-12/src/unicode_start
|
||||||
|
--- kbd-1.12-11/src/unicode_start 2004-02-27 17:14:14.000000000 +0100
|
||||||
|
+++ kbd-1.12-12/src/unicode_start 2004-02-27 17:21:41.000000000 +0100
|
||||||
|
@@ -18,7 +18,19 @@
|
||||||
|
# produce UTF-8 encoded multibyte sequences, instead of single bytes
|
||||||
|
# >= 0x80 in a legacy 8-bit encoding.
|
||||||
|
|
||||||
|
-dumpkeys | loadkeys --unicode
|
||||||
|
+# There is no way of reverting the effect of "dumpkeys | loadkeys --unicode",
|
||||||
|
+# the memory of the earlier keymap is lost. Therefore, try
|
||||||
|
+# to save a copy of the original keymap to be able to reload it in unicode_stop.
|
||||||
|
+# (see also http://mail.nl.linux.org/linux-utf8/2003-08/msg00053.html):
|
||||||
|
+
|
||||||
|
+test -z "$HOME" -o "/" == "$HOME" && HOME=/root
|
||||||
|
+test -d $HOME/.kbd || mkdir $HOME/.kbd
|
||||||
|
+dumpkeys > $HOME/.kbd/.keymap_sv
|
||||||
|
+
|
||||||
|
+# redirect stderr and stdout of loadkeys to /dev/null to avoid the confusing
|
||||||
|
+# "plus before udiaeresis ignored" warnings.
|
||||||
|
+
|
||||||
|
+dumpkeys | loadkeys --unicode > /dev/null 2>&1
|
||||||
|
|
||||||
|
# 2. The output side: the console screen.
|
||||||
|
|
||||||
|
@@ -35,6 +47,14 @@
|
||||||
|
DEFAULT_UNICODE_FONT=LatArCyrHeb-16
|
||||||
|
# Also drdos8x16 is a good candidate.
|
||||||
|
|
||||||
|
+# Fonts with 512 glyphs like LatArCyrHeb-16 make it impossible to use bold
|
||||||
|
+# on the console, which makes YaST2 unusable. To be able to use bold,
|
||||||
|
+# only fonts with 256 glyphs can be used. Therefore we prefer
|
||||||
|
+# the font specified in /etc/sysconfig/console. This should be OK because
|
||||||
|
+# the default font written to /etc/sysconfig/console by YaST2
|
||||||
|
+# is currently always a font with 256 glyphs and a Unicode map
|
||||||
|
+# which is suitable for the language used during the installation.
|
||||||
|
+
|
||||||
|
case $# in
|
||||||
|
2)
|
||||||
|
setfont $1 -u $2
|
||||||
|
@@ -43,7 +63,24 @@
|
||||||
|
setfont $1
|
||||||
|
;;
|
||||||
|
0)
|
||||||
|
- setfont $DEFAULT_UNICODE_FONT
|
||||||
|
+ if [ -f /etc/sysconfig/console ] ; then
|
||||||
|
+ . /etc/sysconfig/console
|
||||||
|
+ fi
|
||||||
|
+ if [ -n "$CONSOLE_FONT" ] ; then
|
||||||
|
+ SETFONT_ARGS="$CONSOLE_FONT"
|
||||||
|
+ if [ -n "$CONSOLE_UNICODEMAP" ] ; then
|
||||||
|
+ SETFONT_ARGS="$SETFONT_ARGS -u $CONSOLE_UNICODEMAP"
|
||||||
|
+ fi
|
||||||
|
+ if [ -n "$CONSOLE_SCREENMAP" ] ; then
|
||||||
|
+ SETFONT_ARGS="$SETFONT_ARGS -m $CONSOLE_SCREENMAP"
|
||||||
|
+ fi
|
||||||
|
+ setfont $SETFONT_ARGS
|
||||||
|
+ if [ -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none" ] ; then
|
||||||
|
+ echo -en "\033$CONSOLE_MAGIC"
|
||||||
|
+ fi
|
||||||
|
+ else
|
||||||
|
+ setfont $DEFAULT_UNICODE_FONT
|
||||||
|
+ fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "usage: unicode_start [font [unicode map]]"
|
||||||
|
diff -Nur kbd-1.12-11/src/unicode_stop kbd-1.12-12/src/unicode_stop
|
||||||
|
--- kbd-1.12-11/src/unicode_stop 2004-02-27 17:14:14.000000000 +0100
|
||||||
|
+++ kbd-1.12-12/src/unicode_stop 2004-02-27 17:21:41.000000000 +0100
|
||||||
|
@@ -2,3 +2,10 @@
|
||||||
|
# stop unicode
|
||||||
|
kbd_mode -a
|
||||||
|
echo -n -e '\033%@'
|
||||||
|
+
|
||||||
|
+# "dumpkeys | loadkeys --unicode" which is called in "unicode_start"
|
||||||
|
+# cannot be reverted, therefore we have to load the keyboard mapping again
|
||||||
|
+# if it could be sucessfully saved in "unicode_start":
|
||||||
|
+
|
||||||
|
+test -r $HOME/.kbd/.keymap_sv && loadkeys $HOME/.kbd/.keymap_sv
|
||||||
|
+
|
399
kbd-1.12.diff
Normal file
399
kbd-1.12.diff
Normal file
@ -0,0 +1,399 @@
|
|||||||
|
diff -ur kbd-1.12.orig/data/keymaps/i386/include/ctrl.map kbd-1.12-0/data/keymaps/i386/include/ctrl.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/i386/include/ctrl.map 2002-10-11 13:08:50.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/i386/include/ctrl.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
keycode 29 = Caps_Lock
|
||||||
|
keycode 58 = Control
|
||||||
|
keycode 97 = Compose
|
||||||
|
+# keycode 97 = Control
|
||||||
|
+# Shift keycode 97 = Compose is also popular
|
||||||
|
+# (Right Ctrl + Shift for Compose)
|
||||||
|
diff -ur kbd-1.12.orig/data/keymaps/i386/qwerty/defkeymap.map kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/i386/qwerty/defkeymap.map 2002-10-13 02:03:56.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/i386/qwerty/defkeymap.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -251,9 +251,9 @@
|
||||||
|
keycode 122 =
|
||||||
|
keycode 123 =
|
||||||
|
keycode 124 =
|
||||||
|
-keycode 125 =
|
||||||
|
-keycode 126 =
|
||||||
|
-keycode 127 =
|
||||||
|
+keycode 125 = Decr_Console Last_Console Incr_Console Compose
|
||||||
|
+keycode 126 = Incr_Console Last_Console Decr_Console Compose
|
||||||
|
+keycode 127 = Compose Decr_Console Incr_Console Last_Console
|
||||||
|
string F1 = "\033[[A"
|
||||||
|
string F2 = "\033[[B"
|
||||||
|
string F3 = "\033[[C"
|
||||||
|
diff -ur kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH-latin1.map kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH-latin1.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH-latin1.map 2002-10-11 13:08:48.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH-latin1.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -3,7 +3,6 @@
|
||||||
|
keymaps 0-2,4-6,8,12
|
||||||
|
include "qwertz-layout"
|
||||||
|
include "linux-with-alt-and-altgr"
|
||||||
|
- plain keycode 83 = KP_Comma
|
||||||
|
strings as usual
|
||||||
|
|
||||||
|
keycode 1 = Escape Escape
|
||||||
|
diff -ur kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH.map kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/i386/qwertz/fr_CH.map 2002-10-11 13:08:48.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/i386/qwertz/fr_CH.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -3,7 +3,6 @@
|
||||||
|
keymaps 0-2,4-6,8,12
|
||||||
|
include "qwertz-layout"
|
||||||
|
include "linux-with-alt-and-altgr"
|
||||||
|
- plain keycode 83 = KP_Comma
|
||||||
|
strings as usual
|
||||||
|
|
||||||
|
keycode 1 = Escape Escape
|
||||||
|
diff -ur kbd-1.12.orig/data/keymaps/mac/all/mac-de_CH.map kbd-1.12-0/data/keymaps/mac/all/mac-de_CH.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/mac/all/mac-de_CH.map 2002-10-11 13:08:52.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/mac/all/mac-de_CH.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -43,3 +43,5 @@
|
||||||
|
keycode 44 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore
|
||||||
|
keycode 47 = period colon
|
||||||
|
keycode 10 = less greater
|
||||||
|
+keycode 16 = z
|
||||||
|
+keycode 6 = y
|
||||||
|
diff -ur kbd-1.12.orig/data/keymaps/mac/all/mac-dk-latin1.map kbd-1.12-0/data/keymaps/mac/all/mac-dk-latin1.map
|
||||||
|
--- kbd-1.12.orig/data/keymaps/mac/all/mac-dk-latin1.map 2002-10-11 13:08:52.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/data/keymaps/mac/all/mac-dk-latin1.map 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -28,7 +28,7 @@
|
||||||
|
keycode 30 = diaeresis circumflex asciitilde
|
||||||
|
keycode 41 = ae AE adiaeresis Adiaeresis
|
||||||
|
keycode 39 = oslash Oslash odiaeresis Odiaeresis
|
||||||
|
-keycode 42 = numbersign apostrophe
|
||||||
|
+keycode 42 = apostrophe asterisk
|
||||||
|
keycode 43 = comma semicolon
|
||||||
|
keycode 47 = period colon
|
||||||
|
keycode 44 = minus underscore Meta_minus
|
||||||
|
@@ -36,8 +36,6 @@
|
||||||
|
keycode 49 = space space Meta_space nul
|
||||||
|
keycode 10 = less greater bar
|
||||||
|
|
||||||
|
-keycode 16 = z
|
||||||
|
-keycode 6 = y
|
||||||
|
|
||||||
|
alt keycode 12 = at
|
||||||
|
alt keycode 50 = bar
|
||||||
|
diff -ur kbd-1.12.orig/src/Makefile.in kbd-1.12-0/src/Makefile.in
|
||||||
|
--- kbd-1.12.orig/src/Makefile.in 2004-01-03 18:53:54.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/Makefile.in 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -54,7 +54,8 @@
|
||||||
|
|
||||||
|
WARN = -Wall -Wmissing-prototypes -Wstrict-prototypes
|
||||||
|
DEFS = -DDATADIR=\"$(DATA_DIR)\"
|
||||||
|
-CFLAGS = -O2
|
||||||
|
+RPM_OPT_FLAGS = -O2 -Wall
|
||||||
|
+CFLAGS = $(RPM_OPT_FLAGS)
|
||||||
|
LDFLAGS = -s
|
||||||
|
|
||||||
|
CC = gcc
|
||||||
|
diff -ur kbd-1.12.orig/po/Makefile.in kbd-1.12-0/po/Makefile.in
|
||||||
|
--- kbd-1.12.orig/po/Makefile.in 2004-03-02 00:04:10.727687162 +0100
|
||||||
|
+++ kbd-1.12/po/Makefile.in 2004-03-02 00:04:26.390543066 +0100
|
||||||
|
@@ -13,7 +13,7 @@
|
||||||
|
FOREIGN=
|
||||||
|
SHELL = /bin/sh
|
||||||
|
|
||||||
|
-prefix = $(DESTDIR)@prefix@
|
||||||
|
+prefix = $(DESTDIR)/usr
|
||||||
|
datadir = $(prefix)/share
|
||||||
|
localedir = $(datadir)/locale
|
||||||
|
gnulocaledir = $(prefix)/share/locale
|
||||||
|
diff -ur kbd-1.12.orig/src/kdfontop.c kbd-1.12-0/src/kdfontop.c
|
||||||
|
--- kbd-1.12.orig/src/kdfontop.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/kdfontop.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -170,6 +170,8 @@
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* The other methods do not support width != 8 */
|
||||||
|
+ if (width) *width = 8;
|
||||||
|
/* Second attempt: GIO_FONTX */
|
||||||
|
cfd.charcount = *count;
|
||||||
|
cfd.charheight = 0;
|
||||||
|
@@ -179,8 +181,6 @@
|
||||||
|
*count = cfd.charcount;
|
||||||
|
if (height)
|
||||||
|
*height = cfd.charheight;
|
||||||
|
- if (width)
|
||||||
|
- *width = 8;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (errno != ENOSYS && errno != EINVAL) {
|
||||||
|
@@ -201,8 +201,6 @@
|
||||||
|
*count = 256;
|
||||||
|
if (height)
|
||||||
|
*height = 0; /* undefined, at most 32 */
|
||||||
|
- if (width)
|
||||||
|
- *width = 8;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -ur kbd-1.12.orig/src/loadunimap.c kbd-1.12-0/src/loadunimap.c
|
||||||
|
--- kbd-1.12.orig/src/loadunimap.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/loadunimap.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -35,6 +35,7 @@
|
||||||
|
#include "version.h"
|
||||||
|
int verbose = 0;
|
||||||
|
int force = 0;
|
||||||
|
+int debug = 0;
|
||||||
|
|
||||||
|
static void
|
||||||
|
usage(void) {
|
||||||
|
@@ -345,13 +346,29 @@
|
||||||
|
descr = getunicodemap(fd);
|
||||||
|
list = descr.entries;
|
||||||
|
|
||||||
|
+
|
||||||
|
for(i=0; i<fontsize; i++) {
|
||||||
|
- for(j=0; j<descr.entry_ct; j++)
|
||||||
|
+#if 0
|
||||||
|
+ /* More than one mapping is not a sequence! */
|
||||||
|
+ int no = 0;
|
||||||
|
+ for(j=0; j<descr.entry_ct; j++)
|
||||||
|
if (list[j].fontpos == i)
|
||||||
|
+ no++;
|
||||||
|
+ if (no > 1)
|
||||||
|
+ appendseparator(fp, 1, utf8);
|
||||||
|
+#endif
|
||||||
|
+ if (debug) printf ("\nchar %03x: ", i);
|
||||||
|
+ for(j=0; j<descr.entry_ct; j++)
|
||||||
|
+ if (list[j].fontpos == i) {
|
||||||
|
+ if (debug)
|
||||||
|
+ printf ("%04x ", list[j].unicode);
|
||||||
|
appendunicode(fp, list[j].unicode, utf8);
|
||||||
|
+ }
|
||||||
|
appendseparator(fp, 0, utf8);
|
||||||
|
}
|
||||||
|
|
||||||
|
+
|
||||||
|
+ if (debug) printf ("\n");
|
||||||
|
if (verbose)
|
||||||
|
printf(_("Appended Unicode map\n"));
|
||||||
|
}
|
||||||
|
diff -ur kbd-1.12.orig/src/loadunimap.h kbd-1.12-0/src/loadunimap.h
|
||||||
|
--- kbd-1.12.orig/src/loadunimap.h 1999-09-27 20:17:52.000000000 +0200
|
||||||
|
+++ kbd-1.12-0/src/loadunimap.h 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -1,4 +1,10 @@
|
||||||
|
/* loadunimap.h */
|
||||||
|
+
|
||||||
|
+#ifndef _LOADUNIMAP_H
|
||||||
|
+#define _LOADUNIMAP_H
|
||||||
|
+
|
||||||
|
void saveunicodemap(int fd, char *oufil); /* save humanly readable */
|
||||||
|
void loadunicodemap(int fd, char *ufil);
|
||||||
|
void appendunicodemap(int fd, FILE *fp, int ct, int utf8);
|
||||||
|
+
|
||||||
|
+#endif /* _LOADUNIMAP_H */
|
||||||
|
diff -ur kbd-1.12.orig/src/mapscrn.c kbd-1.12-0/src/mapscrn.c
|
||||||
|
--- kbd-1.12.orig/src/mapscrn.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/mapscrn.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
|
int verbose = 0;
|
||||||
|
+int debug = 0;
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[]) {
|
||||||
|
diff -ur kbd-1.12.orig/src/paths.h kbd-1.12-0/src/paths.h
|
||||||
|
--- kbd-1.12.orig/src/paths.h 1999-11-15 23:46:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/paths.h 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -28,3 +28,4 @@
|
||||||
|
extern void fpclose(FILE *fp);
|
||||||
|
|
||||||
|
extern int verbose;
|
||||||
|
+extern int debug;
|
||||||
|
diff -ur kbd-1.12.orig/src/psf.h kbd-1.12-0/src/psf.h
|
||||||
|
--- kbd-1.12.orig/src/psf.h 2001-02-09 13:58:44.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/psf.h 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -1,3 +1,5 @@
|
||||||
|
+/* psf.h */
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Format of a psf font file:
|
||||||
|
*
|
||||||
|
@@ -30,6 +32,9 @@
|
||||||
|
* namely when there is no precomposed Unicode value for the glyph.
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifndef _PSF_H
|
||||||
|
+#define _PSF_H
|
||||||
|
+
|
||||||
|
|
||||||
|
#define PSF1_MAGIC0 0x36
|
||||||
|
#define PSF1_MAGIC1 0x04
|
||||||
|
@@ -91,3 +96,5 @@
|
||||||
|
#define PSF2_MAGIC_OK(x) ((x)[0]==PSF2_MAGIC0 && (x)[1]==PSF2_MAGIC1 \
|
||||||
|
&& (x)[2]==PSF2_MAGIC2 && (x)[3]==PSF2_MAGIC3)
|
||||||
|
|
||||||
|
+
|
||||||
|
+#endif /* _PSF_H */
|
||||||
|
diff -ur kbd-1.12.orig/src/psffontop.c kbd-1.12-0/src/psffontop.c
|
||||||
|
--- kbd-1.12.orig/src/psffontop.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/psffontop.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -10,6 +10,7 @@
|
||||||
|
#include "psf.h"
|
||||||
|
#include "psffontop.h"
|
||||||
|
#include "utf8.h"
|
||||||
|
+#include "paths.h"
|
||||||
|
|
||||||
|
extern char *progname;
|
||||||
|
|
||||||
|
@@ -32,16 +33,18 @@
|
||||||
|
|
||||||
|
static void
|
||||||
|
addseq(struct unicode_list *up, unsigned int uc) {
|
||||||
|
- struct unicode_list *ul;
|
||||||
|
struct unicode_seq *us;
|
||||||
|
+ struct unicode_seq *usl;
|
||||||
|
+ struct unicode_list *ul = up->prev;
|
||||||
|
|
||||||
|
- ul = up->prev;
|
||||||
|
+ usl = ul->seq;
|
||||||
|
+ while (usl->next) usl = usl->next;
|
||||||
|
us = xmalloc(sizeof(struct unicode_seq));
|
||||||
|
us->uc = uc;
|
||||||
|
- us->prev = ul->seq->prev;
|
||||||
|
- us->prev->next = us;
|
||||||
|
+ us->prev = usl;
|
||||||
|
us->next = NULL;
|
||||||
|
- ul->seq->prev = us;
|
||||||
|
+ usl->next = us;
|
||||||
|
+ //ul->seq->prev = us;
|
||||||
|
}
|
||||||
|
|
||||||
|
static unsigned int
|
||||||
|
@@ -190,7 +193,7 @@
|
||||||
|
* just read the entire file.
|
||||||
|
*/
|
||||||
|
if (fontf) {
|
||||||
|
- inputbuflth = 16384; /* random */
|
||||||
|
+ inputbuflth = MAXFONTSIZE/4; /* random */
|
||||||
|
inputbuf = xmalloc(inputbuflth);
|
||||||
|
n = 0;
|
||||||
|
|
||||||
|
@@ -366,6 +369,13 @@
|
||||||
|
perror("appendunimap");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
+ if (debug) {
|
||||||
|
+ printf ("(");
|
||||||
|
+ if (!utf8)
|
||||||
|
+ printf ("U+");
|
||||||
|
+ while (n < 6) printf ("%02x ", out[n++]);
|
||||||
|
+ printf (")");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
@@ -437,7 +447,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-void
|
||||||
|
+int
|
||||||
|
writepsffont(FILE *ofil, char *fontbuf, int width, int height, int fontlen,
|
||||||
|
int psftype, struct unicode_list *uclistheads) {
|
||||||
|
int bytewidth, charsize, flags, utf8, i;
|
||||||
|
@@ -456,7 +466,8 @@
|
||||||
|
utf8 = (psftype == 2);
|
||||||
|
|
||||||
|
fwrite(fontbuf, charsize, fontlen, ofil);
|
||||||
|
- if (uclistheads != NULL) {
|
||||||
|
+ /* unimaps: -1 => do nothing: caller will append map */
|
||||||
|
+ if (uclistheads != NULL && uclistheads != (struct unicode_list*)-1) {
|
||||||
|
struct unicode_list *ul;
|
||||||
|
struct unicode_seq *us;
|
||||||
|
|
||||||
|
@@ -475,5 +486,6 @@
|
||||||
|
appendseparator(ofil, 0, utf8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ return utf8;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -ur kbd-1.12.orig/src/psffontop.h kbd-1.12-0/src/psffontop.h
|
||||||
|
--- kbd-1.12.orig/src/psffontop.h 2000-12-31 15:22:17.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/psffontop.h 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -1,3 +1,11 @@
|
||||||
|
+/* psffontop.h */
|
||||||
|
+
|
||||||
|
+#ifndef _PSFFONTOP_H
|
||||||
|
+#define _PSFFONTOP_H
|
||||||
|
+
|
||||||
|
+/* Maximum font size that we try to handle */
|
||||||
|
+#define MAXFONTSIZE 65536
|
||||||
|
+
|
||||||
|
typedef unsigned int unicode;
|
||||||
|
|
||||||
|
struct unicode_seq {
|
||||||
|
@@ -17,7 +25,7 @@
|
||||||
|
int *fontwidthp, int *fontlenp, int fontpos0,
|
||||||
|
struct unicode_list **uclistheadsp);
|
||||||
|
|
||||||
|
-extern void writepsffont(FILE *ofil, char *fontbuf,
|
||||||
|
+extern int writepsffont(FILE *ofil, char *fontbuf,
|
||||||
|
int width, int height, int fontlen, int psftype,
|
||||||
|
struct unicode_list *uclistheads);
|
||||||
|
|
||||||
|
@@ -29,3 +37,5 @@
|
||||||
|
|
||||||
|
extern void appendunicode(FILE *fp, unsigned int uc, int utf8);
|
||||||
|
extern void appendseparator(FILE *fp, int seq, int utf8);
|
||||||
|
+
|
||||||
|
+#endif /* _PSFFONTOP_H */
|
||||||
|
diff -ur kbd-1.12.orig/src/psfxtable.c kbd-1.12-0/src/psfxtable.c
|
||||||
|
--- kbd-1.12.orig/src/psfxtable.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/psfxtable.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -225,6 +225,8 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+int debug = 0;
|
||||||
|
+
|
||||||
|
int
|
||||||
|
main(int argc, char **argv) {
|
||||||
|
char *ifname, *ofname, *itname, *otname;
|
||||||
|
diff -ur kbd-1.12.orig/src/setfont.c kbd-1.12-0/src/setfont.c
|
||||||
|
--- kbd-1.12.orig/src/setfont.c 2004-01-16 20:45:31.000000000 +0100
|
||||||
|
+++ kbd-1.12-0/src/setfont.c 2004-02-26 21:55:25.000000000 +0100
|
||||||
|
@@ -48,6 +48,7 @@
|
||||||
|
|
||||||
|
int verbose = 0;
|
||||||
|
int force = 0;
|
||||||
|
+int debug = 0;
|
||||||
|
|
||||||
|
/* search for the font in these directories (with trailing /) */
|
||||||
|
char *fontdirpath[] = { "", DATADIR "/" FONTDIR "/", 0 };
|
||||||
|
@@ -331,15 +332,28 @@
|
||||||
|
up = xmalloc(maxct * sizeof(struct unipair));
|
||||||
|
for (i = 0; i < fontsize; i++) {
|
||||||
|
ul = uclistheads[i].next;
|
||||||
|
+ if (debug) printf ("char %03x:", i);
|
||||||
|
while(ul) {
|
||||||
|
us = ul->seq;
|
||||||
|
if (us && ! us->next) {
|
||||||
|
up[ct].unicode = us->uc;
|
||||||
|
up[ct].fontpos = i;
|
||||||
|
ct++;
|
||||||
|
+ if (debug) printf (" %04x", us->uc);
|
||||||
|
}
|
||||||
|
+ else
|
||||||
|
+ if (debug) {
|
||||||
|
+ printf (" seq: <");
|
||||||
|
+ while (us) {
|
||||||
|
+ printf (" %04x", us->uc);
|
||||||
|
+ us = us->next;
|
||||||
|
+ }
|
||||||
|
+ printf (" >");
|
||||||
|
+ }
|
||||||
|
ul = ul->next;
|
||||||
|
+ if (debug) printf (",");
|
||||||
|
}
|
||||||
|
+ if (debug) printf ("\n");
|
||||||
|
}
|
||||||
|
if (ct != maxct) {
|
||||||
|
char *u = _("%s: bug in do_loadtable\n");
|
15
kbd-1.12.lsm
Normal file
15
kbd-1.12.lsm
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Begin3
|
||||||
|
Title: Keyboard and console utilities for Linux
|
||||||
|
Version: 1.12
|
||||||
|
Entered-date: 2004-01-16
|
||||||
|
Description: loadkeys dumpkeys setfont chvt openvt kbdrate kbd.FAQ A20 etc.
|
||||||
|
Keywords: keyboard mapping console font unicode
|
||||||
|
Author: several
|
||||||
|
Maintained-by: Andries E. Brouwer (aeb@cwi.nl)
|
||||||
|
Primary-site: ftp://ftp.win.tue.nl/pub/linux-local/utils/kbd
|
||||||
|
884827 kbd-1.12.tar.gz
|
||||||
|
Alternate-site: ftp://ftp.*.kernel.org/pub/linux/utils/kbd
|
||||||
|
Alternate-site: ftp://sunsite.unc.edu/pub/Linux/system/keyboards
|
||||||
|
Alternate site: ftp://ftp.cwi.nl/pub/aeb/kbd
|
||||||
|
Copying-policy: GPL
|
||||||
|
End
|
3
kbd-1.12.tar.bz2
Normal file
3
kbd-1.12.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:22dd61453c6f5feffc2170118edb151c9eda2dee8bdc98d71e5b8f5be671de75
|
||||||
|
size 635392
|
@ -1,82 +0,0 @@
|
|||||||
Index: docs/man/man1/dumpkeys.1.in
|
|
||||||
===================================================================
|
|
||||||
--- docs/man/man1/dumpkeys.1.in.orig
|
|
||||||
+++ docs/man/man1/dumpkeys.1.in
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
dumpkeys \- dump keyboard translation tables
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B dumpkeys
|
|
||||||
+.RI [ \-C\ '<vc>' | \-\-console='<vc>' ]
|
|
||||||
[
|
|
||||||
.\".B \-1Vdfhiklnstv
|
|
||||||
.B \-h \-\-help \-i \-\-short\-info \-l \-s \-\-long\-info
|
|
||||||
@@ -212,6 +213,12 @@ loadkeys how to interpret the keymap. (F
|
|
||||||
.B \-V \-\-version
|
|
||||||
Prints version number and exits.
|
|
||||||
.LP
|
|
||||||
+The affected console device can be specified using the
|
|
||||||
+.I -C
|
|
||||||
+(or
|
|
||||||
+.I --console
|
|
||||||
+) option. This option supports exactly one device name.
|
|
||||||
+.LP
|
|
||||||
.SH FILES
|
|
||||||
.PD 0
|
|
||||||
.TP 20
|
|
||||||
Index: src/dumpkeys.c
|
|
||||||
===================================================================
|
|
||||||
--- src/dumpkeys.c.orig
|
|
||||||
+++ src/dumpkeys.c
|
|
||||||
@@ -41,6 +41,8 @@ usage(int rc)
|
|
||||||
" -t, --funcs-only display only the function key strings;\n"
|
|
||||||
" -k, --keys-only display only key bindings;\n"
|
|
||||||
" -d, --compose-only display only compose key combinations;\n"
|
|
||||||
+ " -C <vc>\n"
|
|
||||||
+ " --console=<vc> Indicate the virtual console device to be used;\n"
|
|
||||||
" -c, --charset="));
|
|
||||||
lk_list_charsets(stderr);
|
|
||||||
fprintf(stderr, _(
|
|
||||||
@@ -55,7 +57,7 @@ usage(int rc)
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
- const char *short_opts = "hilvsnf1tkdS:c:V";
|
|
||||||
+ const char *short_opts = "hilvsnf1tkdS:C:c:V";
|
|
||||||
const struct option long_opts[] = {
|
|
||||||
{ "help", no_argument, NULL, 'h' },
|
|
||||||
{ "short-info", no_argument, NULL, 'i' },
|
|
||||||
@@ -68,6 +70,7 @@ int main(int argc, char *argv[])
|
|
||||||
{ "keys-only", no_argument, NULL, 'k' },
|
|
||||||
{ "compose-only", no_argument, NULL, 'd' },
|
|
||||||
{ "charset", required_argument, NULL, 'c' },
|
|
||||||
+ { "console", required_argument, NULL, 'C' },
|
|
||||||
{ "verbose", no_argument, NULL, 'v' },
|
|
||||||
{ "version", no_argument, NULL, 'V' },
|
|
||||||
{ NULL, 0, NULL, 0 }
|
|
||||||
@@ -82,6 +85,7 @@ int main(int argc, char *argv[])
|
|
||||||
char funcs_only = 0;
|
|
||||||
char keys_only = 0;
|
|
||||||
char diac_only = 0;
|
|
||||||
+ char * console = NULL;
|
|
||||||
|
|
||||||
struct lk_ctx *ctx;
|
|
||||||
|
|
||||||
@@ -135,6 +139,9 @@ int main(int argc, char *argv[])
|
|
||||||
}
|
|
||||||
printf("charset \"%s\"\n", optarg);
|
|
||||||
break;
|
|
||||||
+ case 'C':
|
|
||||||
+ console = optarg;
|
|
||||||
+ break;
|
|
||||||
case 'V':
|
|
||||||
print_version_and_exit();
|
|
||||||
break;
|
|
||||||
@@ -150,7 +157,7 @@ int main(int argc, char *argv[])
|
|
||||||
if (optind < argc)
|
|
||||||
usage(EX_USAGE);
|
|
||||||
|
|
||||||
- if ((fd = getfd(NULL)) < 0)
|
|
||||||
+ if ((fd = getfd(console)) < 0)
|
|
||||||
kbd_error(EXIT_FAILURE, 0, _("Couldn't get a file descriptor referring to the console"));
|
|
||||||
|
|
||||||
/* check whether the keyboard is in Unicode mode */
|
|
@ -1,326 +0,0 @@
|
|||||||
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
|
|
@ -1,34 +0,0 @@
|
|||||||
Index: kbd-2.2.0/src/kdfontop.c
|
|
||||||
===================================================================
|
|
||||||
--- kbd-2.2.0.orig/src/kdfontop.c
|
|
||||||
+++ kbd-2.2.0/src/kdfontop.c
|
|
||||||
@@ -169,6 +169,23 @@ int putfont(int fd, unsigned char *buf,
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if 1
|
|
||||||
+ // We no longer try PIO_FONT* calls.
|
|
||||||
+ // A former patch even added a possible 5 seconds delay loop here, in an attempt to
|
|
||||||
+ // gain victory over kdm. We no do this fight, as it can only result in races.
|
|
||||||
+ // https://bugzilla.novell.com/show_bug.cgi?id=302010
|
|
||||||
+ //
|
|
||||||
+ // Two effects:
|
|
||||||
+ // a) Without the delay loop, we are fast enough to run early.
|
|
||||||
+ // Moving setfont calls to an earlier point most likly
|
|
||||||
+ // avoids the race.
|
|
||||||
+ // b) Without the old compat calls, it should be easier to
|
|
||||||
+ // fix this in kernel side.
|
|
||||||
+ //
|
|
||||||
+ fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", get_progname(), count, width, height, i);
|
|
||||||
+ perror("putfont: KDFONTOP");
|
|
||||||
+ return -1;
|
|
||||||
+#else
|
|
||||||
/* Second attempt: PIO_FONTX */
|
|
||||||
cfd.charcount = count;
|
|
||||||
cfd.charheight = height;
|
|
||||||
@@ -191,4 +208,5 @@ int putfont(int fd, unsigned char *buf,
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
+#endif
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
--- 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]]"
|
|
@ -1,26 +0,0 @@
|
|||||||
Index: kbd-2.2.0/src/loadkeys.c
|
|
||||||
===================================================================
|
|
||||||
--- kbd-2.2.0.orig/src/loadkeys.c
|
|
||||||
+++ kbd-2.2.0/src/loadkeys.c
|
|
||||||
@@ -24,7 +24,7 @@
|
|
||||||
#include "paths.h"
|
|
||||||
#include "keymap.h"
|
|
||||||
|
|
||||||
-static const char *const dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 };
|
|
||||||
+static const char *const dirpath1[] = { "", DATADIR "/" XKBKEYMAPDIR "/", DATADIR "/" LEGACYKEYMAPDIR "/**", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 };
|
|
||||||
static const char *const suffixes[] = { "", ".kmap", ".map", 0 };
|
|
||||||
|
|
||||||
static void __attribute__((noreturn))
|
|
||||||
Index: kbd-2.2.0/src/paths.h
|
|
||||||
===================================================================
|
|
||||||
--- kbd-2.2.0.orig/src/paths.h
|
|
||||||
+++ kbd-2.2.0/src/paths.h
|
|
||||||
@@ -5,6 +5,8 @@
|
|
||||||
* The following five subdirectories are defined:
|
|
||||||
*/
|
|
||||||
#define KEYMAPDIR "keymaps"
|
|
||||||
+#define XKBKEYMAPDIR "keymaps/xkb"
|
|
||||||
+#define LEGACYKEYMAPDIR "keymaps/legacy"
|
|
||||||
#define UNIMAPDIR "unimaps"
|
|
||||||
#define TRANSDIR "consoletrans"
|
|
||||||
#define VIDEOMODEDIR "videomodes"
|
|
@ -1,10 +0,0 @@
|
|||||||
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
|
|
@ -1,10 +0,0 @@
|
|||||||
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)
|
|
@ -1,33 +0,0 @@
|
|||||||
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
|
|
@ -1,105 +0,0 @@
|
|||||||
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)
|
|
||||||
;;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8c769445fb7342e032105ede63848f3d9c90bd380115d47b378fd3452655bc6c
|
|
||||||
size 1132436
|
|
@ -1,71 +0,0 @@
|
|||||||
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
|
|
683
kbd.changes
683
kbd.changes
@ -1,682 +1,3 @@
|
|||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 17 22:43:16 UTC 2020 - Stanislav Brabec <sbrabec@suse.com>
|
|
||||||
|
|
||||||
- Make kbdsettings working in both bash and dash (boo#1175040).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 17 14:47:04 UTC 2020 - Stanislav Brabec <sbrabec@suse.com>
|
|
||||||
|
|
||||||
- Fix kbd-1.15.5-loadkeys-search-path.patch to prefer xkb keymaps
|
|
||||||
(boo#1176302).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Aug 20 11:34:32 UTC 2020 - Jiri Slaby <jslaby@suse.com>
|
|
||||||
|
|
||||||
- add libkeymap-Fix-mk_mapname-for-the-plain-map.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Apr 21 13:08:11 UTC 2020 - Ludwig Nussel <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 02:25:10 CET 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 22:35:51 UTC 2020 - Stefan Brüns <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 12:15:22 UTC 2019 - kukuk@suse.de
|
|
||||||
|
|
||||||
- Move pam.d/vlock to /usr/etc
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 19 09:05:55 UTC 2019 - Martin Vidner <mvidner@suse.com>
|
|
||||||
|
|
||||||
- Allow YaST to select Iranian (Persian, Farsi) keyboard layout
|
|
||||||
(bsc#1092920)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Aug 2 08:06:01 UTC 2018 - schwab@suse.de
|
|
||||||
|
|
||||||
- fbtest.c: include <sys/sysmacros.h> for major/minor
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu May 24 16:14:57 CEST 2018 - kukuk@suse.de
|
|
||||||
|
|
||||||
- Use %license instead of %doc [bsc#1082318]
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Apr 5 17:32:03 CEST 2018 - sbrabec@suse.com
|
|
||||||
|
|
||||||
- Disable characters >=U+F000. These do not work properly
|
|
||||||
(bsc#1085432#c15, kbd-unicode-fxxx.patch).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Mar 15 17:04:06 CET 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 17:39:18 CET 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 13:30:49 UTC 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 13:40:21 UTC 2017 - rbrown@suse.com
|
|
||||||
|
|
||||||
- Replace references to /var/adm/fillup-templates with new
|
|
||||||
%_fillupdir macro (boo#1069468)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Oct 13 14:53:41 CEST 2017 - sbrabec@suse.com
|
|
||||||
|
|
||||||
- Add vlock.pamd PAM file (bsc#1056449#c8).
|
|
||||||
- Clean spec file.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Sep 22 15:51:51 CEST 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 04:31:25 UTC 2017 - bwiedemann@suse.com
|
|
||||||
|
|
||||||
- call gzip -n to make build fully reproducible
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Mar 23 23:23:20 UTC 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 23:37:52 UTC 2017 - zaitor@opensuse.org
|
|
||||||
|
|
||||||
- Drop kdb-legacy Requires: No longer needed, and was always meant
|
|
||||||
to be temporary.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Jul 12 12:52:31 UTC 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
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Jun 16 00:18:55 CET 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 16:31:10 CET 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 10:50:21 UTC 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 11:53:48 UTC 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 10:05:35 UTC 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 12:54:27 UTC 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 18:36:23 UTC 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 21:15:08 UTC 2015 - crrodriguez@opensuse.org
|
|
||||||
|
|
||||||
- Regenerate the initrd if this package changes as it is
|
|
||||||
included there for early console setup.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Feb 10 15:45:09 UTC 2015 - tchvatal@suse.com
|
|
||||||
|
|
||||||
- Convert changelog to utf8
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sat Nov 29 22:14:00 UTC 2014 - Led <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 10:33:55 UTC 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 10:54:51 UTC 2014 - pgajdos@suse.com
|
|
||||||
|
|
||||||
- port dumpkeys-C-opt.patch
|
|
||||||
- modified patches:
|
|
||||||
* kbd-1.15.2-dumpkeys-C-opt.patch
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Sep 12 09:52:30 UTC 2014 - pgajdos@suse.com
|
|
||||||
|
|
||||||
- kbd-2.0.2-doshell-reference.patch:
|
|
||||||
drop doshell reference from openvt.1 man page [bnc#675317]
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 4 17:51:54 UTC 2014 - jw@owncloud.com
|
|
||||||
|
|
||||||
- added /usr/bin/kbd, a simple userfriedly keymap switcher.
|
|
||||||
From https://github.com/jnweiger/kbd-wrapper
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Aug 22 09:50:15 UTC 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 09:25:51 UTC 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 06:51:23 UTC 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 16:47:44 UTC 2014 - pgajdos@suse.com
|
|
||||||
|
|
||||||
- SuSE -> SUSE [bnc#889035]
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Jul 24 20:31:47 UTC 2014 - dimstar@opensuse.org
|
|
||||||
|
|
||||||
- No longer recommend fbset: the package does no longer exist in
|
|
||||||
openSUSE since late 2013.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Nov 3 17:51:09 UTC 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 18:27:19 UTC 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 15:57:45 UTC 2013 - meissner@suse.com
|
|
||||||
|
|
||||||
- disable vlock build, which is in vlock package.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Apr 4 01:34:32 UTC 2013 - crrodriguez@opensuse.org
|
|
||||||
|
|
||||||
- Remove sysvinit support, init scripts from this package
|
|
||||||
are masked by systemd and only serve for confusion.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Apr 3 19:06:41 CEST 2013 - sbrabec@suse.cz
|
|
||||||
|
|
||||||
- sysconfig.keyboard: Updated description of KBD_NUMLOCK
|
|
||||||
(bnc#746595#c74).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Dec 5 20:45:40 UTC 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 18:58:13 UTC 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 15:40:30 UTC 2012 - rschweikert@suse.com
|
|
||||||
|
|
||||||
- Place binaries into /usr tree (UsrMerge project)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Dec 20 17:35:35 CET 2011 - sbrabec@suse.cz
|
|
||||||
|
|
||||||
- Enable resizecons on x86_64 (bnc#737631).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Nov 30 14:24:18 UTC 2011 - coolo@suse.com
|
|
||||||
|
|
||||||
- add automake as buildrequire to avoid implicit dependency
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Oct 5 13:37:08 UTC 2011 - lnussel@suse.de
|
|
||||||
|
|
||||||
- fix loadkeys -C option (bnc#720486)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Sep 30 15:28:41 UTC 2011 - uli@suse.com
|
|
||||||
|
|
||||||
- cross-build fix: use %__cc, %configure macros
|
|
||||||
- configure: explicitly set bindir
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Sep 14 15:58:43 CEST 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 14:07:36 CET 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 12:39:06 CET 2011 - werner@suse.de
|
|
||||||
|
|
||||||
- Tag boot script as interactive as systemd uses it
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Jan 12 14:22:09 UTC 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 14:48:34 CEST 2010 - anicka@suse.cz
|
|
||||||
|
|
||||||
- build optional binaries (bnc#637453)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Sep 6 17:27:40 CEST 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 02:18:05 CEST 2010 - sndirsch@suse.de
|
|
||||||
|
|
||||||
- added dummy keyboard mappings for chinese/taiwanese (bnc #603950)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Mar 29 17:31:11 CEST 2010 - anicka@suse.cz
|
|
||||||
|
|
||||||
- add lt.std map (bnc#569554)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Feb 19 14:39:29 CET 2010 - anicka@suse.cz
|
|
||||||
|
|
||||||
- respect KBD_TTY="" set in sysconfig (bnc#405658)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Feb 16 11:14:18 PST 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 12:22:49 UTC 2010 - jengelh@medozas.de
|
|
||||||
|
|
||||||
- remove inclusion of kbio.h on SPARC, this has been removed
|
|
||||||
in the kernel
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Sun Jan 10 01:45:25 UTC 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 13:48:13 CET 2009 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- do not include '.' in the repacked tarball (bnc#544975).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Oct 1 15:09:51 CEST 2009 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- Add real Tajik keymap.
|
|
||||||
- remove slovak keymaps from suse-add.tar.bz2 that are already
|
|
||||||
upstream.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Sep 4 15:22:07 CEST 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 16:25:37 CEST 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 14:40:11 CEST 2009 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- do not load any usb drivers, udev takes care of this (bnc#482316).
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Nov 10 12:10:09 CET 2008 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- rename Spanish keymap for olpc to es-olpc to avoid ambiguity
|
|
||||||
(bnc#435121)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Nov 4 13:06:35 CET 2008 - sndirsch@suse.de
|
|
||||||
|
|
||||||
- added arabic console keyboard link ( arabic -> us ) (bnc #441432)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Oct 14 10:50:34 CEST 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 16:47:35 CEST 2008 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- fixed lat2a-16.psfu (bnc#340579)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Sep 9 14:09:26 CEST 2008 - mmarek@suse.cz
|
|
||||||
|
|
||||||
- really use $RPM_OPT_FLAGS
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Sep 4 17:48:50 CEST 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 19:38:44 CEST 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 18:08:29 CEST 2008 - mrueckert@suse.de
|
|
||||||
|
|
||||||
- remove outdated options in the fillup_and_insserv call
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Aug 18 11:21:24 CEST 2008 - werner@suse.de
|
|
||||||
|
|
||||||
- Fix LSB header of kbd init script
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed Jun 4 18:53:46 CEST 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 12:39:16 CEST 2008 - jw@suse.de
|
|
||||||
|
|
||||||
- added ru1_win-utf.map fixing bnc#337238
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Wed May 7 18:34:11 CEST 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 17:21:42 CEST 2008 - jw@suse.de
|
|
||||||
|
|
||||||
- added fix for bnc#164378 from werner.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Apr 25 12:11:45 CEST 2008 - jw@suse.de
|
|
||||||
|
|
||||||
- experimental patch for bnc#147581 added.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Mar 21 18:47:50 CET 2008 - sndirsch@suse.de
|
|
||||||
|
|
||||||
- kbd.init: MAY_TTY should be tty6 (Bug #302010)
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Thu Feb 21 21:19:52 CET 2008 - crrodriguez@suse.de
|
|
||||||
|
|
||||||
- use find_lang macro
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Mon Dec 3 20:49:23 CET 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 19:53:59 CEST 2007 - jw@suse.de
|
Tue Aug 21 19:53:59 CEST 2007 - jw@suse.de
|
||||||
|
|
||||||
@ -1566,7 +887,7 @@ Mon Dec 4 23:43:08 MET 2000 - garloff@suse.de
|
|||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Dec 4 17:29:56 MET 2000 - garloff@suse.de
|
Mon Dec 4 17:29:56 MET 2000 - garloff@suse.de
|
||||||
|
|
||||||
- Add de_CH ("schwyzerdütsch") keymap.
|
- Add de_CH ("schwyzerdütsch") keymap.
|
||||||
- Initialize consoles 1-24 (instead of 1-6) with CONSOLE_MAGIC
|
- Initialize consoles 1-24 (instead of 1-6) with CONSOLE_MAGIC
|
||||||
(Bugzilla #4468)
|
(Bugzilla #4468)
|
||||||
|
|
||||||
@ -1758,7 +1079,7 @@ Sun Apr 11 13:55:06 MET 1999 - ml@suse.de
|
|||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 6 20:55:06 MET 1999 - ml@suse.de
|
Tue Apr 6 20:55:06 MET 1999 - ml@suse.de
|
||||||
- added a patch harald könig for us.map
|
- added a patch harald könig for us.map
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Apr 5 20:55:06 MET 1999 - ml@suse.de
|
Sun Apr 5 20:55:06 MET 1999 - ml@suse.de
|
||||||
|
29
kbd.fillup
Normal file
29
kbd.fillup
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# Compose tables to be loaded.
|
||||||
|
# Compose tables are good for producing characters, which can not
|
||||||
|
# be directly input from your keyboard, such as characters with
|
||||||
|
# accents, currency signs, ...
|
||||||
|
# Please read /usr/share/doc/packages/kbd/README.SuSE for an
|
||||||
|
# explanation.
|
||||||
|
# You may leave this variable empty (default compose table from kernel
|
||||||
|
# or KEYTABLE will be used then -- most keyboard maps don't have a
|
||||||
|
# compose table, though)
|
||||||
|
# More than one compose table can be given. For a selection of possible
|
||||||
|
# tables see /usr/share/kbd/keymaps/include/compose.*
|
||||||
|
# You can give more than one compose table, but only the last one will
|
||||||
|
# determine the compose combinations.
|
||||||
|
# The word "clear" has a special meaning:
|
||||||
|
# Your compose table will be cleared, before more compose symbols are
|
||||||
|
# added.
|
||||||
|
# The files compose.winkeys and shiftctrl may be used to map the
|
||||||
|
# <compose> key to the W*n menu key and Shift-Ctrl, respectively,
|
||||||
|
# on a PC keyboard.
|
||||||
|
# A typical setting for Latin1 users (with a PC keyboard) may be
|
||||||
|
# COMPOSETABLE="clear winkeys shiftctrl latin1.add"
|
||||||
|
# For latin2, this would be
|
||||||
|
# COMPOSETABLE="clear winkeys shiftctrl latin2"
|
||||||
|
# A typical setting for sb. with a character set, where a matching
|
||||||
|
# compose table is missing (but with a PC keyboard), would be
|
||||||
|
# COMPOSETABLE="winkeys shiftctrl"
|
||||||
|
#
|
||||||
|
COMPOSETABLE="clear winkeys shiftctrl latin1.add"
|
29
kbd.fillup.nonpc
Normal file
29
kbd.fillup.nonpc
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# Compose tables to be loaded.
|
||||||
|
# Compose tables are good for producing characters, which can not
|
||||||
|
# be directly input from your keyboard, such as characters with
|
||||||
|
# accents, currency signs, ...
|
||||||
|
# Please read /usr/share/doc/packages/kbd/README.SuSE for an
|
||||||
|
# explanation.
|
||||||
|
# You may leave this variable empty (default compose table from kernel
|
||||||
|
# or KEYTABLE will be used then -- most don't have one, though)
|
||||||
|
# More than one compose table can be given. For a selection of possible
|
||||||
|
# tables see /usr/share/kbd/keymaps/include/compose.*
|
||||||
|
# You can give more than one compose table, but only the last one will
|
||||||
|
# determine the compose combinations.
|
||||||
|
# The word "clear" has a special meaning:
|
||||||
|
# Your compose table will be cleared, before more compose symbols are
|
||||||
|
# added.
|
||||||
|
# The files compose.winkeys and shiftctrl may be used to map the
|
||||||
|
# <compose> key to the W*n menu key and Shift-Ctrl, respectively,
|
||||||
|
# on a PC keyboard.
|
||||||
|
# A typical setting for Latin1 users (with a PC keyboard) may be
|
||||||
|
# COMPOSETABLE="clear winkeys shiftctrl latin1.add"
|
||||||
|
# For latin2, this would be
|
||||||
|
# COMPOSETABLE="clear winkeys shiftctrl latin2"
|
||||||
|
# A typical setting for sb. with a character set, where a matching
|
||||||
|
# compose table is missing (but with a PC keyboard), would be
|
||||||
|
# COMPOSETABLE="winkeys shiftctrl"
|
||||||
|
# For non-PC keyboards, don't use winkeys and shiftctrl ...
|
||||||
|
#
|
||||||
|
COMPOSETABLE="clear latin1.add"
|
470
kbd.init
Normal file
470
kbd.init
Normal file
@ -0,0 +1,470 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
# Copyright (c) 1995-2005 SUSE LINUX Products AG, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# Author: Burchard Steinbild
|
||||||
|
# Werner Fink <werner@suse.de>
|
||||||
|
#
|
||||||
|
# Please send feedback to http://www.suse.de/feedback
|
||||||
|
#
|
||||||
|
# /etc/init.d/kbd
|
||||||
|
#
|
||||||
|
# and symbolic its link
|
||||||
|
#
|
||||||
|
# /sbin/rckbd
|
||||||
|
#
|
||||||
|
# Warning:
|
||||||
|
# /etc/init.d/earlykbd can run this script even if
|
||||||
|
# the Required-Start conditions listed here are not satisfied.
|
||||||
|
# Our use of $remote_fs is
|
||||||
|
# /usr/share/kbd - for finding keymaps
|
||||||
|
# /usr/sbin/hwinfo - for numlock from bios
|
||||||
|
#
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: kbd
|
||||||
|
# Required-Start: $remote_fs
|
||||||
|
# Required-Stop:
|
||||||
|
# Should-Start: fbset setserial
|
||||||
|
# Should-Stop:
|
||||||
|
# Default-Start: 1 2 3 5 S
|
||||||
|
# Default-Stop:
|
||||||
|
# Short-Description: Keyboard settings
|
||||||
|
# Description: Keyboard settings (don't disable!)
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
. /etc/rc.status
|
||||||
|
. /etc/sysconfig/console
|
||||||
|
. /etc/sysconfig/keyboard
|
||||||
|
|
||||||
|
test -n "$KBD_VERBOSE" && set -x
|
||||||
|
|
||||||
|
test -e /etc/SuSEconfig/profile && . /etc/SuSEconfig/profile
|
||||||
|
test -e /etc/profile.d/lang.sh && . /etc/profile.d/lang.sh
|
||||||
|
LOCALE_CHARMAP=`locale charmap`
|
||||||
|
LC_ALL=POSIX
|
||||||
|
|
||||||
|
MACHINE=`/bin/uname -m 2> /dev/null`
|
||||||
|
if [ "$MACHINE" = "sparc" -o "$MACHINE" = "sparc64" ]; then
|
||||||
|
# Test if we have a serial console.
|
||||||
|
(test -c /dev/tty1 && > /dev/tty1 ) > /dev/null 2>&1 || exit 0
|
||||||
|
fi
|
||||||
|
# iSeries machines also exit, just a little further down...
|
||||||
|
|
||||||
|
# The variable NON_SUSE_KERNEL determines whether we need to chvt
|
||||||
|
# to a console before some console settings apply.
|
||||||
|
# We have no magic to find out about this (at boot time), so we
|
||||||
|
# leave it to the user to read this comment and put NON_SUSE_KERNEL="yes"
|
||||||
|
# into /etc/sysconfig/console
|
||||||
|
|
||||||
|
test "$NON_SUSE_KERNEL" = "yes" && FGCONS=`/bin/fgconsole`
|
||||||
|
|
||||||
|
KBDBASE="/usr/share/kbd"
|
||||||
|
|
||||||
|
KTABLE=${KEYTABLE%.map*}
|
||||||
|
KTABLE=${KTABLE##*/}
|
||||||
|
|
||||||
|
#
|
||||||
|
# first search the wanted keytable.
|
||||||
|
#
|
||||||
|
if [ $MACHINE = ppc -o $MACHINE = ppc64 ]; then
|
||||||
|
test -f /proc/cpuinfo || mount -n -t proc proc /proc 2>/dev/null
|
||||||
|
while read line; do
|
||||||
|
case "$line" in
|
||||||
|
*MacRISC*) MACHINE="mac"
|
||||||
|
test -f /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes && \
|
||||||
|
echo 1 > /proc/sys/dev/mac_hid/keyboard_sends_linux_keycodes
|
||||||
|
;;
|
||||||
|
*CHRP*) MACHINE="chrp";;
|
||||||
|
*PReP*) MACHINE="prep" ;;
|
||||||
|
*PS3*) MACHINE="ps3" ;;
|
||||||
|
*iSeries*) exit 0 ;;
|
||||||
|
esac
|
||||||
|
done < /proc/cpuinfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Calculate KBD_TTY array only once
|
||||||
|
# Caution: Keep in sync with earlykbd.init
|
||||||
|
#
|
||||||
|
if test -z "$KBD_TTY"; then
|
||||||
|
# >=tty7 left out intentionaly
|
||||||
|
KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6"
|
||||||
|
fi
|
||||||
|
|
||||||
|
newkbd=""
|
||||||
|
for tty in $KBD_TTY; do
|
||||||
|
test -w /dev/$tty || continue
|
||||||
|
test -c /dev/$tty || continue
|
||||||
|
> /dev/$tty &> /dev/null || continue
|
||||||
|
newkbd="${newkbd:+$newkbd }/dev/$tty"
|
||||||
|
done
|
||||||
|
KBD_TTY="$newkbd"
|
||||||
|
unset newkbd
|
||||||
|
|
||||||
|
#
|
||||||
|
# load usb drivers in runlevel S
|
||||||
|
#
|
||||||
|
case "${PREVLEVEL}${RUNLEVEL}" in
|
||||||
|
N1|NS)
|
||||||
|
test -f /proc/cpuinfo || mount -n -t proc proc /proc 2>/dev/null
|
||||||
|
|
||||||
|
# [bugzilla #46113]
|
||||||
|
# we come here although heading for runlevel 5.
|
||||||
|
# I'll comment out diabling hotplug for now. jw.
|
||||||
|
# test -f /proc/sys/kernel/hotplug && echo /bin/true > /proc/sys/kernel/hotplug 2>/dev/null
|
||||||
|
test -d /proc/bus/usb || modprobe usbcore >/dev/null 2>&1
|
||||||
|
mount -n -t usbfs usbfs /proc/bus/usb >/dev/null 2>&1
|
||||||
|
for mod in ehci-hcd ohci-hcd uhci-hcd usb-ohci usb-uhci ; do
|
||||||
|
echo -n $mod" "
|
||||||
|
modprobe $mod >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
# [bugzilla #284348]
|
||||||
|
# sleep is no longer needed. horay!
|
||||||
|
#
|
||||||
|
# echo
|
||||||
|
# echo "wait 3 seconds for USB initialisation ..."
|
||||||
|
# sleep 3
|
||||||
|
|
||||||
|
for mod in usbhid input hid keybdev ; do
|
||||||
|
modprobe $mod >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
KEYMAP=""
|
||||||
|
if test -e /$KEYTABLE ; then
|
||||||
|
KEYMAP=$KEYTABLE
|
||||||
|
else
|
||||||
|
KEYTABLE=$KTABLE
|
||||||
|
case "$KEYTABLE" in
|
||||||
|
*.gz) KBDPATH="${KEYTABLE}" ;;
|
||||||
|
*.map) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz" ;;
|
||||||
|
*) KBDPATH="${KEYTABLE} ${KEYTABLE}.gz ${KEYTABLE}.map.gz ${KEYTABLE}.map" ;;
|
||||||
|
esac
|
||||||
|
KEYMAP=$(find ${KBDBASE}/keymaps -type f \( -name ${KBDPATH// / -o -name } \))
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
# setup kbdrate and led status
|
||||||
|
#
|
||||||
|
function set_kbdrate ()
|
||||||
|
{
|
||||||
|
local line
|
||||||
|
|
||||||
|
if test "$MACHINE" != "mac" ; then
|
||||||
|
KBDOPT=""
|
||||||
|
if test -n "$KBD_RATE" ; then
|
||||||
|
KBDOPT="${KBDOPT:+$KBDOPT }-r $KBD_RATE"
|
||||||
|
fi
|
||||||
|
if test -n "$KBD_DELAY"; then
|
||||||
|
KBDOPT="${KBDOPT:+$KBDOPT }-d $KBD_DELAY"
|
||||||
|
fi
|
||||||
|
if test -n "$KBDOPT" ; then
|
||||||
|
echo -n "Keyboard: "
|
||||||
|
/bin/kbdrate $KBDOPT
|
||||||
|
rc_status -v1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# setleds
|
||||||
|
#
|
||||||
|
# Note: The file /var/run/numlock-on is used in ~/.xinitrc
|
||||||
|
# to reflect the correct numlock state choosen by the
|
||||||
|
# user even under X11
|
||||||
|
#
|
||||||
|
if test "$KBD_NUMLOCK" = "yes"; then
|
||||||
|
touch /var/run/numlock-on
|
||||||
|
elif test "$KBD_NUMLOCK" = "no"; then
|
||||||
|
rm -f /var/run/numlock-on
|
||||||
|
elif test "$KBD_NUMLOCK" = "bios"; then
|
||||||
|
if test -x /usr/sbin/hwinfo ; then
|
||||||
|
/usr/sbin/hwinfo --bios | \
|
||||||
|
while read line ; do
|
||||||
|
case "$line" in
|
||||||
|
Num\ Lock:\ on) touch /var/run/numlock-on ;;
|
||||||
|
Num\ Lock:\ off) rm -f /var/run/numlock-on ;;
|
||||||
|
Caps\ Lock:) break
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "no /usr/sbin -> Numlock off."
|
||||||
|
rm -f /var/run/numlock-on
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset line
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only change keyboard leds if setleds is in path
|
||||||
|
#
|
||||||
|
type -p setleds &> /dev/null || return
|
||||||
|
|
||||||
|
if test -e /var/run/numlock-on ; then
|
||||||
|
LEDOPT="+num"
|
||||||
|
else
|
||||||
|
LEDOPT="-num"
|
||||||
|
fi
|
||||||
|
if test "$KBD_CAPSLOCK" = "yes"; then
|
||||||
|
LEDOPT="$LEDOPT +caps"
|
||||||
|
else
|
||||||
|
LEDOPT="$LEDOPT -caps"
|
||||||
|
fi
|
||||||
|
if test "$KBD_SCRLOCK" = "yes"; then
|
||||||
|
LEDOPT="$LEDOPT +scroll"
|
||||||
|
else
|
||||||
|
LEDOPT="$LEDOPT -scroll"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Only change keyboard leds if they will be switched
|
||||||
|
# on ... OR if they are switched on currently
|
||||||
|
#
|
||||||
|
if [[ $LEDOPT == *+* ]] ; then
|
||||||
|
touch /var/run/setleds-on
|
||||||
|
else
|
||||||
|
test -e /var/run/setleds-on || return
|
||||||
|
test -n "$LEDOPT" || return
|
||||||
|
rm -f /var/run/setleds-on
|
||||||
|
fi
|
||||||
|
|
||||||
|
for tty in $KBD_TTY; do
|
||||||
|
setleds -D $LEDOPT < $tty
|
||||||
|
done
|
||||||
|
}
|
||||||
|
#
|
||||||
|
rc_reset
|
||||||
|
case "$1" in
|
||||||
|
start|restart|reload|force-reload)
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
# don't do anything if we have this file.
|
||||||
|
# this means that initialization was already done.
|
||||||
|
# don't do it twice unless forced, it may annoy xdm and
|
||||||
|
# produce lots of error messages.
|
||||||
|
test -s /var/run/keymap && exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
if test -z "$KEYTABLE"; then
|
||||||
|
echo "No keyboard map to load"
|
||||||
|
else
|
||||||
|
if test -z "$KEYMAP" || test ! -d "$KBDBASE" ; then
|
||||||
|
if test -r /etc/defkeymap.map ; then
|
||||||
|
if test -n "$KEYMAP" ; then
|
||||||
|
echo "$KEYMAP is unvailable, using /etc/defkeymap.map instead."
|
||||||
|
if test -r /var/run/keymap ; then
|
||||||
|
read cached < /etc/defkeymap.name
|
||||||
|
if test "$KEYMAP" != "$cached" && test $K != "$cached" ; then
|
||||||
|
echo "Warning: fallback differs: $cached"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Can not find a keymap for ${KEYTABLE}, trying fallback."
|
||||||
|
fi
|
||||||
|
KEYMAP=/etc/defkeymap.map
|
||||||
|
else
|
||||||
|
echo "Fallback /etc/defkeymap.map not there."
|
||||||
|
echo "Can not find a keymap for ${KEYTABLE}, Exit."
|
||||||
|
rc_failed
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if test ! -e "$KEYMAP" ; then
|
||||||
|
echo "Found more than one keymap ${KEYTABLE}"
|
||||||
|
KEYMAP=$K
|
||||||
|
echo "Using $KEYMAP."
|
||||||
|
echo "If you want another one, please add complete path to"
|
||||||
|
echo "KEYTABLE in /etc/sysconfig/keyboard."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rc_status && retmsg="`loadkeys -C "$KBD_TTY" $KEYMAP 2>&1`"
|
||||||
|
if test $? -eq 0 && ( > /var/run/keymap ) > /dev/null 2>&1 ; then
|
||||||
|
echo "$KEYMAP" > /var/run/keymap
|
||||||
|
else
|
||||||
|
case "$RUNLEVEL" in
|
||||||
|
S|N|1|\#) true ;;
|
||||||
|
*) rc_failed ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
echo "Loading keymap ${retmsg#Loading*${KBDBASE}/keymaps/}"
|
||||||
|
rc_status -v1
|
||||||
|
|
||||||
|
set_kbdrate
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Disable CAPS LOCK key if wanted
|
||||||
|
if test "$KBD_DISABLE_CAPS_LOCK" = "yes"; then
|
||||||
|
loadkeys -C "$KBD_TTY" disable.capslock >/dev/null 2>&1 || echo "Could not disable Caps Lock"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Load compose tables
|
||||||
|
case "$RUNLEVEL" in
|
||||||
|
S|N|1|\#) COMPOSETABLE="" ;;
|
||||||
|
esac
|
||||||
|
if test ! -z "$COMPOSETABLE"; then
|
||||||
|
unset COMPOSELOADED COMPOSECLEAR
|
||||||
|
for name in $COMPOSETABLE; do
|
||||||
|
# Test for compose clear flag
|
||||||
|
if test "$name" = "-c" -o "$name" = "clear"; then
|
||||||
|
COMPOSECLEAR=-c
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# Handle the first table differently ...
|
||||||
|
if test -z "$COMPOSELOADED"; then
|
||||||
|
echo -n "Loading compose table $name"
|
||||||
|
loadkeys -C "$KBD_TTY" $COMPOSECLEAR compose.$name >/dev/null 2>&1
|
||||||
|
rc_check
|
||||||
|
#if test $name = clear; then rc_reset; fi
|
||||||
|
COMPOSELOADED=1
|
||||||
|
else
|
||||||
|
echo -n " $name"
|
||||||
|
loadkeys -C "$KBD_TTY" compose.$name >/dev/null 2>&1
|
||||||
|
rc_check
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test ! -z "$COMPOSELOADED"; then
|
||||||
|
rc_status -v
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Unicode mode
|
||||||
|
if test -x /bin/kbd_mode ; then
|
||||||
|
case $LOCALE_CHARMAP in
|
||||||
|
UTF-8)
|
||||||
|
echo Start Unicode mode
|
||||||
|
for tty in $KBD_TTY; do
|
||||||
|
# The chvt is not needed for SuSE kernels
|
||||||
|
test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty}
|
||||||
|
|
||||||
|
# Tell the console output driver that the bytes
|
||||||
|
# arriving are UTF-8 encoded multibyte sequences.
|
||||||
|
echo -n -e '\033%G' > $tty
|
||||||
|
|
||||||
|
# Set the keyboard driver in Unicode mode.
|
||||||
|
# (Default is ASCII mode.)
|
||||||
|
# This really does nothing with the way normal
|
||||||
|
# keys are handled in the kernel. All it does is:
|
||||||
|
# - It is necessary for `dumpkeys' in order to
|
||||||
|
# not drop U+XXXX entries from the keymaps.
|
||||||
|
# - It is necessary for `loadkeys' in order to
|
||||||
|
# avoid warnings.
|
||||||
|
# - Unicode characters typed as Alt-x1 ... Alt-xn
|
||||||
|
# (where x1,...,xn are digits on the numeric keypad)
|
||||||
|
# will be emitted in UTF-8.
|
||||||
|
kbd_mode -u -C $tty
|
||||||
|
rc_status
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo Stop Unicode mode
|
||||||
|
for tty in $KBD_TTY; do
|
||||||
|
# The chvt is not needed for SuSE kernels
|
||||||
|
test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty}
|
||||||
|
|
||||||
|
echo -n -e '\033%@' > $tty
|
||||||
|
|
||||||
|
kbd_mode -a -C $tty
|
||||||
|
rc_status
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS
|
||||||
|
rc_status -v1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$MACHINE" = "ps3" ; then
|
||||||
|
# do not mess up console
|
||||||
|
unset CONSOLE_FONT
|
||||||
|
fi
|
||||||
|
# setfont
|
||||||
|
if test -d ${KBDBASE}/consolefonts -a \
|
||||||
|
-n "$CONSOLE_FONT" -a "$CONSOLE_FONT" != "YAST_ASK"
|
||||||
|
then
|
||||||
|
if test ! -z "$CONSOLE_UNICODEMAP"; then
|
||||||
|
UMAP="-u $CONSOLE_UNICODEMAP"
|
||||||
|
fi
|
||||||
|
if test ! -z "$CONSOLE_SCREENMAP"; then
|
||||||
|
SMAP="-m $CONSOLE_SCREENMAP"
|
||||||
|
fi
|
||||||
|
PRINTABLE_MAGIC="";
|
||||||
|
if test -n "$CONSOLE_MAGIC" -a "$CONSOLE_MAGIC" != "none"; then
|
||||||
|
case $CONSOLE_MAGIC in
|
||||||
|
\(B) PRINTABLE_MAGIC="G0:iso8859-1" ;;
|
||||||
|
\(0) PRINTABLE_MAGIC="G0:vt100" ;;
|
||||||
|
\(U) PRINTABLE_MAGIC="G0:ROM" ;;
|
||||||
|
\(K) PRINTABLE_MAGIC="G0:loadable" ;;
|
||||||
|
\)B) PRINTABLE_MAGIC="G1:iso8859-1" ;;
|
||||||
|
\)0) PRINTABLE_MAGIC="G1:vt100" ;;
|
||||||
|
\)U) PRINTABLE_MAGIC="G1:ROM" ;;
|
||||||
|
\)K) PRINTABLE_MAGIC="G1:loadable" ;;
|
||||||
|
*) PRINTABLE_MAGIC="magic='$CONSOLE_MAGIC'" ;;
|
||||||
|
esac
|
||||||
|
CONSOLE_MAGIC="\033$CONSOLE_MAGIC"
|
||||||
|
else
|
||||||
|
CONSOLE_MAGIC="";
|
||||||
|
fi
|
||||||
|
if test -x /bin/setfont ; then
|
||||||
|
echo "Loading console font $CONSOLE_FONT $UMAP $SMAP $PRINTABLE_MAGIC"
|
||||||
|
for tty in $KBD_TTY; do
|
||||||
|
# The chvt is not needed for SuSE kernels
|
||||||
|
test "$NON_SUSE_KERNEL" != "yes" || chvt ${tty#*tty}
|
||||||
|
|
||||||
|
/bin/setfont -C $tty $CONSOLE_FONT $UMAP $SMAP
|
||||||
|
rc_status
|
||||||
|
|
||||||
|
echo -en "$CONSOLE_MAGIC" > $tty
|
||||||
|
done
|
||||||
|
test "$NON_SUSE_KERNEL" != "yes" || chvt $FGCONS
|
||||||
|
rc_status -v1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$RUNLEVEL" in
|
||||||
|
S|N|1|\#) true ;;
|
||||||
|
*)
|
||||||
|
case $LOCALE_CHARMAP in
|
||||||
|
UTF-8)
|
||||||
|
# Change the keyboard mapping in such a way that the
|
||||||
|
# non-ASCII keys produce UTF-8 encoded multibyte sequences
|
||||||
|
# instead of single bytes >= 0x80 in a legacy 8-bit encoding.
|
||||||
|
( dumpkeys | loadkeys -C "$KBD_TTY" --unicode ) > /dev/null 2>&1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
dumpkeys=yes
|
||||||
|
if type -p cmp > /dev/null 2>&1 && \
|
||||||
|
dumpkeys | cmp -s /etc/defkeymap.map
|
||||||
|
then
|
||||||
|
dumpkeys=no
|
||||||
|
fi
|
||||||
|
if test "$dumpkeys" = "yes" ; then
|
||||||
|
( dumpkeys > /etc/defkeymap.map ) > /dev/null 2>&1
|
||||||
|
if test ! -z "$KEYMAP" && test "$KEYMAP" != "/etc/defkeymap.map" ; then
|
||||||
|
test ! -e "$KEYMAP" && KEYMAP=$K
|
||||||
|
echo $KEYMAP > /etc/defkeymap.name
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
esac
|
||||||
|
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
# enable start after stop.
|
||||||
|
echo -n "$0 stop"
|
||||||
|
rm -f /var/run/keymap
|
||||||
|
rc_status -v
|
||||||
|
;;
|
||||||
|
check|status)
|
||||||
|
if test -r /var/run/keymap ; then
|
||||||
|
read current < /var/run/keymap
|
||||||
|
echo "Keymap $current is loaded."
|
||||||
|
else
|
||||||
|
rc_failed 3
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|reload|force-reload|status|check}"
|
||||||
|
exit 2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
rc_exit
|
51
kbdsettings
51
kbdsettings
@ -1,51 +0,0 @@
|
|||||||
#! /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
|
|
@ -1,42 +0,0 @@
|
|||||||
--- kbdsettings
|
|
||||||
+++ kbdsettings
|
|
||||||
@@ -24,20 +24,6 @@
|
|
||||||
fi
|
|
||||||
/usr/bin/setleds -D -$param < /dev/$tty
|
|
||||||
;;
|
|
||||||
- bios)
|
|
||||||
- bios=$(/usr/lib/kbd/numlockbios 2>/dev/null)
|
|
||||||
- if [ $param = "num" ]; then
|
|
||||||
- if [ "$bios" = "on" ]; then
|
|
||||||
- touch /run/numlock-on
|
|
||||||
- /usr/bin/setleds -D +$param < /dev/$tty
|
|
||||||
- elif [ "$bios" = "off" -o "$bios" = "unknown" ]; then
|
|
||||||
- rm -f /run/numlock-on
|
|
||||||
- /usr/bin/setleds -D -$param < /dev/$tty
|
|
||||||
- fi
|
|
||||||
- else
|
|
||||||
- echo "Value ${!conf} invalid for $conf"
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
*)
|
|
||||||
echo "error: unknown value ${!conf} in $conf"
|
|
||||||
;;
|
|
||||||
--- sysconfig.keyboard
|
|
||||||
+++ sysconfig.keyboard
|
|
||||||
@@ -15,12 +15,12 @@
|
|
||||||
# Keyboard repeat rate (2.0 - 30.0)
|
|
||||||
KBD_RATE=""
|
|
||||||
|
|
||||||
-## Type: list(bios,yes,no)
|
|
||||||
-## Default: bios
|
|
||||||
+## Type: yesno
|
|
||||||
+## Default: no
|
|
||||||
#
|
|
||||||
-# NumLock on? ("yes" or "no" or "bios" for BIOS setting)
|
|
||||||
+# NumLock on? ("yes" or "no")
|
|
||||||
# This setting may interfere with GNOME /org/gnome/settings-daemon/peripherals/keyboard/remember-numlock-state DConf key.
|
|
||||||
-KBD_NUMLOCK="bios"
|
|
||||||
+KBD_NUMLOCK="no"
|
|
||||||
|
|
||||||
## Type: yesno
|
|
||||||
## Default: no
|
|
@ -1,14 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Apply settings from /etc/sysconfig/keyboard
|
|
||||||
After=basic.target
|
|
||||||
After=systemd-vconsole-setup.service
|
|
||||||
PartOf=systemd-vconsole-setup.service
|
|
||||||
ConditionPathExists=/dev/tty0
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/usr/sbin/kbdsettings
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,52 +0,0 @@
|
|||||||
From: Alexey Gladkov <gladkov.alexey@gmail.com>
|
|
||||||
Date: Sun, 23 Feb 2020 18:24:59 +0100
|
|
||||||
Subject: libkeymap: Fix mk_mapname for the plain map
|
|
||||||
Patch-mainline: 2.3
|
|
||||||
Git-commit: 88ae58fe8a223d11307accc36cc293133a18e7ac
|
|
||||||
|
|
||||||
mk_mapname did not correctly return "plain" for the plain map (no modifier set)
|
|
||||||
if it had already been called, as it did not correctly reset the static buffer
|
|
||||||
that it uses for the map name. When mk_mapname is called for the first time
|
|
||||||
from the first loop in lk_dump_ctable, all is fine, since buf has not been used
|
|
||||||
yet and it is initialised to 0. However, when it is called again for the plain
|
|
||||||
map from the second loop in lk_dump_ctable, buf already contains a value (left
|
|
||||||
over from the last iteration in the first loop), and then strcat appends
|
|
||||||
"plain" to that value instead of overwriting it, resulting in a bogus value.
|
|
||||||
|
|
||||||
Reported-by: Javier Pello <javier.pello@urjc.es>
|
|
||||||
Signed-off-by: Alexey Gladkov <gladkov.alexey@gmail.com>
|
|
||||||
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
||||||
---
|
|
||||||
src/libkeymap/dump.c | 2 +-
|
|
||||||
tests/data/dumpkeys-mktable/defkeymap.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c
|
|
||||||
index 8531b5aa3d91..d67eefaada54 100644
|
|
||||||
--- a/src/libkeymap/dump.c
|
|
||||||
+++ b/src/libkeymap/dump.c
|
|
||||||
@@ -101,7 +101,7 @@ mk_mapname(char modifier)
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (!modifier) {
|
|
||||||
- strcat(buf, "plain");
|
|
||||||
+ strcpy(buf, "plain");
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
buf[0] = 0;
|
|
||||||
diff --git a/tests/data/dumpkeys-mktable/defkeymap.c b/tests/data/dumpkeys-mktable/defkeymap.c
|
|
||||||
index e831316a1ff3..5d9a3aaeff8c 100644
|
|
||||||
--- a/tests/data/dumpkeys-mktable/defkeymap.c
|
|
||||||
+++ b/tests/data/dumpkeys-mktable/defkeymap.c
|
|
||||||
@@ -565,7 +565,7 @@ static unsigned short shift_altgr_ctrl_alt_map[NR_KEYS] = {
|
|
||||||
};
|
|
||||||
|
|
||||||
ushort *key_maps[MAX_NR_KEYMAPS] = {
|
|
||||||
- shift_altgr_ctrl_altplain_map, shift_map, altgr_map, shift_altgr_map,
|
|
||||||
+ plain_map, shift_map, altgr_map, shift_altgr_map,
|
|
||||||
ctrl_map, shift_ctrl_map, altgr_ctrl_map, shift_altgr_ctrl_map,
|
|
||||||
alt_map, shift_alt_map, altgr_alt_map, shift_altgr_alt_map,
|
|
||||||
ctrl_alt_map, shift_ctrl_alt_map, altgr_ctrl_alt_map, shift_altgr_ctrl_alt_map, 0
|
|
||||||
--
|
|
||||||
2.28.0
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
|||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
|
|
||||||
#define BIOS_DATA_AREA 0x400
|
|
||||||
#define BDA_KEYBOARD_STATUS_FLAGS_4 0x97
|
|
||||||
#define BDA_KSF4_NUMLOCK_MASK 0x02
|
|
||||||
|
|
||||||
int fdmem;
|
|
||||||
char c;
|
|
||||||
errno=0;
|
|
||||||
|
|
||||||
fdmem = open("/dev/mem", O_RDONLY);
|
|
||||||
|
|
||||||
if (fdmem < 0) {
|
|
||||||
fprintf(stderr, "Couldn't open /dev/mem; %s\n", strerror(errno));
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lseek(fdmem, BIOS_DATA_AREA + BDA_KEYBOARD_STATUS_FLAGS_4, SEEK_SET) == (off_t) -1) {
|
|
||||||
fprintf(stderr, "Failed to seek /dev/mem: %s\n", strerror(errno));
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (read (fdmem, &c, sizeof(char)) == -1) {
|
|
||||||
fprintf(stderr, "Failed to read /dev/mem: %s\n", strerror(errno));
|
|
||||||
goto finish;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (c & BDA_KSF4_NUMLOCK_MASK)
|
|
||||||
printf("on\n");
|
|
||||||
else
|
|
||||||
printf("off\n");
|
|
||||||
|
|
||||||
finish:
|
|
||||||
close(fdmem);
|
|
||||||
|
|
||||||
if (errno)
|
|
||||||
{
|
|
||||||
printf("unknown\n");
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
18
piofont_debug.diff
Normal file
18
piofont_debug.diff
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- kbd-1.12/src/kdfontop.c.orig 2004-10-01 13:44:47.788404680 +0000
|
||||||
|
+++ kbd-1.12/src/kdfontop.c 2004-10-01 13:46:09.349005584 +0000
|
||||||
|
@@ -268,6 +268,7 @@
|
||||||
|
if (i == 0)
|
||||||
|
return 0;
|
||||||
|
if (errno != ENOSYS && errno != EINVAL) {
|
||||||
|
+ fprintf(stderr, "%s: putfont: %d,%dx%d:failed: %d\n", progname, count, width, height, i);
|
||||||
|
perror("putfont: PIO_FONTX");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
@@ -276,6 +277,7 @@
|
||||||
|
/* This will load precisely 256 chars, independent of count */
|
||||||
|
i = ioctl(fd, PIO_FONT, buf);
|
||||||
|
if (i) {
|
||||||
|
+ fprintf(stderr, "%s: putfont: %d,%dx%d: failed: %d\n", progname, count, width, height, i);
|
||||||
|
perror("putfont: PIO_FONT");
|
||||||
|
return -1;
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
#
|
#
|
||||||
# repackage kbd source tar ball,
|
# repackage kbd source tar ball,
|
||||||
# to remove fonts that forbid commercial distribution.
|
# to remove fonts that forbid commercial distribution.
|
||||||
@ -6,21 +6,30 @@
|
|||||||
# 2005-07-11, jw@suse.de
|
# 2005-07-11, jw@suse.de
|
||||||
|
|
||||||
tmpdir=`mktemp -d`
|
tmpdir=`mktemp -d`
|
||||||
in="$1"
|
|
||||||
if [ -z $in ]; then
|
|
||||||
echo "usage: $0 <tarball>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
name="${in%.tar.*}"
|
|
||||||
|
|
||||||
# recent gnu tar can autodetect gzip / bzip2
|
in=$1
|
||||||
if ! tar xf "$in" -C $tmpdir; then
|
|
||||||
rm -rf $tmpdir
|
case "$in" in
|
||||||
exit 1
|
*.tar.gz)
|
||||||
fi
|
tar zxf $in -C $tmpdir
|
||||||
|
;;
|
||||||
|
*.tgz)
|
||||||
|
tar zxf $in -C $tmpdir
|
||||||
|
;;
|
||||||
|
*.tar.bz2)
|
||||||
|
tar jxf $in -C $tmpdir
|
||||||
|
;;
|
||||||
|
*.tar)
|
||||||
|
tar xf $in -C $tmpdir
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "hmm, '$in' is not a tar ball?"
|
||||||
|
rmdir $tmpdir
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
echo removing files...
|
echo removing files...
|
||||||
find $tmpdir -iname \*agafari\* | tee /dev/tty | xargs rm
|
find $tmpdir -iname \*agafari\* | tee /dev/tty | xargs rm
|
||||||
tar Jcf $name-repack.tar.xz -C $tmpdir $name
|
tar jcf $in-repack.tar.bz2 -C $tmpdir .
|
||||||
|
|
||||||
rm -rf $tmpdir
|
rm -rf $tmpdir
|
||||||
|
BIN
suse-add.tar.bz2
(Stored with Git LFS)
BIN
suse-add.tar.bz2
(Stored with Git LFS)
Binary file not shown.
@ -1,9 +1,8 @@
|
|||||||
## Path: Hardware/Console
|
## Path: Hardware/Console
|
||||||
## Description: Text console settings (see also Hardware/Keyboard)
|
## Description: Text console settings (see also Hardware/Keyboard)
|
||||||
#
|
|
||||||
|
|
||||||
## Type: string
|
## Type: string
|
||||||
## Default: ""
|
## Default: ""
|
||||||
|
## ServiceRestart: kbd
|
||||||
#
|
#
|
||||||
# Console settings.
|
# Console settings.
|
||||||
# Note: The KBD_TTY setting from Hardware/Keyboard (sysconfig/keyboard)
|
# Note: The KBD_TTY setting from Hardware/Keyboard (sysconfig/keyboard)
|
||||||
@ -47,3 +46,4 @@ CONSOLE_SCREENMAP=""
|
|||||||
# Normally not needed (automatically handled by setfont).
|
# Normally not needed (automatically handled by setfont).
|
||||||
#
|
#
|
||||||
CONSOLE_MAGIC=""
|
CONSOLE_MAGIC=""
|
||||||
|
|
||||||
|
@ -1,7 +1,16 @@
|
|||||||
## Path: Hardware/Keyboard
|
## Path: Hardware/Keyboard
|
||||||
## Description: Keyboard settings for the text console
|
## Description: Keyboard settings
|
||||||
## ServiceRestart: kbdsettings
|
## Type: string
|
||||||
|
## Default: ""
|
||||||
|
## ServiceRestart: kbd
|
||||||
#
|
#
|
||||||
|
# Keyboard settings for the text console
|
||||||
|
#
|
||||||
|
# Keyboard mapping
|
||||||
|
# (/usr/share/kbd/keymaps/)
|
||||||
|
# e.g. KEYTABLE="de-latin1-nodeadkeys", "us" or empty for US settings
|
||||||
|
#
|
||||||
|
KEYTABLE=""
|
||||||
|
|
||||||
## Type: integer
|
## Type: integer
|
||||||
## Default:
|
## Default:
|
||||||
@ -18,8 +27,7 @@ KBD_RATE=""
|
|||||||
## Type: list(bios,yes,no)
|
## Type: list(bios,yes,no)
|
||||||
## Default: bios
|
## Default: bios
|
||||||
#
|
#
|
||||||
# NumLock on? ("yes" or "no" or "bios" for BIOS setting)
|
# NumLock on? ("yes" or "no" or empty 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"
|
KBD_NUMLOCK="bios"
|
||||||
|
|
||||||
## Type: yesno
|
## Type: yesno
|
||||||
@ -46,11 +54,11 @@ KBD_CAPSLOCK="no"
|
|||||||
KBD_DISABLE_CAPS_LOCK="no"
|
KBD_DISABLE_CAPS_LOCK="no"
|
||||||
|
|
||||||
## Type: string
|
## Type: string
|
||||||
## Default:
|
## Default: "tty1 tty2 tty3 tty4 tty5 tty6"
|
||||||
#
|
#
|
||||||
# ttys for the above settings
|
# ttys for the above settings
|
||||||
# Example: "tty1 tty2"
|
# Example: "tty1 tty2"
|
||||||
# "" for tty's 1-6
|
# "" for all tty's
|
||||||
#
|
#
|
||||||
KBD_TTY=""
|
KBD_TTY="tty1 tty2 tty3 tty4 tty5 tty6"
|
||||||
|
|
||||||
|
96
testutf8.c
Normal file
96
testutf8.c
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
/*
|
||||||
|
* Copyright Gerd Knorr <kraxel@suse.de>, 2003
|
||||||
|
*
|
||||||
|
* small tool to figure whenever a tty runs in utf8 mode or not.
|
||||||
|
* writes a utf-8 multibyte sequence and then checks how far the
|
||||||
|
* cursor has been moved.
|
||||||
|
*
|
||||||
|
* return codes:
|
||||||
|
* 0 - don't know (stdin isn't a terminal, timeout, some error, ...)
|
||||||
|
* 1 - not in utf8
|
||||||
|
* 2 - utf-8
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <termios.h>
|
||||||
|
struct termios saved_attributes;
|
||||||
|
int saved_fl;
|
||||||
|
void
|
||||||
|
tty_raw()
|
||||||
|
{
|
||||||
|
struct termios tattr;
|
||||||
|
fcntl(0,F_GETFL,&saved_fl);
|
||||||
|
tcgetattr (0, &saved_attributes);
|
||||||
|
fcntl(0,F_SETFL,O_NONBLOCK);
|
||||||
|
memcpy(&tattr,&saved_attributes,sizeof(struct termios));
|
||||||
|
tattr.c_lflag &= ~(ICANON|ECHO);
|
||||||
|
tattr.c_cc[VMIN] = 1;
|
||||||
|
tattr.c_cc[VTIME] = 0;
|
||||||
|
tcsetattr (0, TCSAFLUSH, &tattr);
|
||||||
|
}
|
||||||
|
void
|
||||||
|
tty_restore()
|
||||||
|
{
|
||||||
|
fcntl(0,F_SETFL,saved_fl);
|
||||||
|
tcsetattr (0, TCSANOW, &saved_attributes);
|
||||||
|
}
|
||||||
|
int
|
||||||
|
select_wait()
|
||||||
|
{
|
||||||
|
struct timeval tv;
|
||||||
|
fd_set se;
|
||||||
|
FD_ZERO(&se);
|
||||||
|
FD_SET(0,&se);
|
||||||
|
tv.tv_sec = 3;
|
||||||
|
tv.tv_usec = 0;
|
||||||
|
return select(1,&se,NULL,NULL,&tv);
|
||||||
|
}
|
||||||
|
int
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
static char *teststr = "\r\xc3\xb6";
|
||||||
|
static char *cleanup = "\r \r";
|
||||||
|
static char *getpos = "\033[6n";
|
||||||
|
char retstr[16];
|
||||||
|
int pos,rc,row,col,verbose;
|
||||||
|
verbose = 0;
|
||||||
|
if (argc > 1 && 0 == strcmp(argv[1],"-v"))
|
||||||
|
verbose = 1;
|
||||||
|
if (!isatty(0) || !isatty(1)) {
|
||||||
|
if (verbose)
|
||||||
|
fprintf(stderr,"Not a tty.\n");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
tty_raw();
|
||||||
|
write(1,teststr,strlen(teststr));
|
||||||
|
write(1,getpos,strlen(getpos));
|
||||||
|
for (pos = 0; pos < sizeof(retstr)-1;) {
|
||||||
|
if (0 == select_wait())
|
||||||
|
break;
|
||||||
|
if (-1 == (rc = read(0,retstr+pos,sizeof(retstr)-1-pos))) {
|
||||||
|
perror("read");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
pos += rc;
|
||||||
|
if (retstr[pos-1] == 'R')
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
retstr[pos] = 0;
|
||||||
|
write(1,cleanup,strlen(cleanup));
|
||||||
|
tty_restore();
|
||||||
|
rc = sscanf(retstr,"\033[%d;%dR",&row,&col);
|
||||||
|
if (2 == rc && 2 == col) {
|
||||||
|
if (verbose)
|
||||||
|
fprintf(stderr,"Terminal is in UTF-8 mode.\n");
|
||||||
|
exit(2);
|
||||||
|
} else {
|
||||||
|
if (verbose)
|
||||||
|
fprintf(stderr,"Terminal is in byte mode.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +0,0 @@
|
|||||||
#%PAM-1.0
|
|
||||||
auth include common-auth
|
|
||||||
account include common-account
|
|
||||||
password include common-password
|
|
||||||
session include common-session
|
|
231
xml2lst.pl
231
xml2lst.pl
@ -1,231 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
|
|
||||||
# converts the <rules>.xml file to the old format <rules>.lst file
|
|
||||||
#
|
|
||||||
# Usage:
|
|
||||||
#
|
|
||||||
# perl xml2lst.pl < filename.xml > filename.lst
|
|
||||||
#
|
|
||||||
# author Ivan Pascal
|
|
||||||
# modified by Vitezslav Crhonek
|
|
||||||
|
|
||||||
$doc = new_document( 0, '');
|
|
||||||
parse('', $doc);
|
|
||||||
|
|
||||||
($reg) = node_by_name($doc, '/xkbConfigRegistry');
|
|
||||||
@models = node_by_name($reg, 'modelList/model/configItem');
|
|
||||||
@layouts = node_by_name($reg, 'layoutList/layout/configItem');
|
|
||||||
@options = node_by_name($reg, 'optionList/group/configItem');
|
|
||||||
|
|
||||||
for $i (@layouts) {
|
|
||||||
($name) = node_by_name($i, 'name');
|
|
||||||
@variants = node_by_name($i, '../variantList/variant/configItem');
|
|
||||||
for $v (@variants) {
|
|
||||||
($variant) = node_by_name($v, 'name');
|
|
||||||
printf("%s %s\n", text_child($name), text_child($variant));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub with_attribute {
|
|
||||||
local ($nodelist, $attrexpr) = @_;
|
|
||||||
local ($attr, $value) = split (/=/, $attrexpr);
|
|
||||||
local ($node, $attrvalue);
|
|
||||||
if (defined $value && $value ne '') {
|
|
||||||
$value =~ s/"//g;
|
|
||||||
foreach $node (@{$nodelist}) {
|
|
||||||
$attrvalue = node_attribute($node, $attr);
|
|
||||||
if (defined $attrvalue && $attrvalue eq $value) {
|
|
||||||
return $node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
foreach $node (@{$nodelist}) {
|
|
||||||
if (! defined node_attribute($node, $attr)) {
|
|
||||||
return $node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
undef;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Subroutines
|
|
||||||
|
|
||||||
sub parse {
|
|
||||||
local $intag = 0;
|
|
||||||
my (@node_stack, $parent);
|
|
||||||
$parent = @_[1];
|
|
||||||
local ($tag, $text);
|
|
||||||
|
|
||||||
while (<>) {
|
|
||||||
chomp;
|
|
||||||
@str = split /([<>])/;
|
|
||||||
shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/);
|
|
||||||
|
|
||||||
while (scalar @str) {
|
|
||||||
$token = shift @str;
|
|
||||||
if ($token eq '<') {
|
|
||||||
$intag = 1;
|
|
||||||
if (defined $text) {
|
|
||||||
add_text_node($parent, $text);
|
|
||||||
undef $text;
|
|
||||||
}
|
|
||||||
} elsif ($token eq '>') {
|
|
||||||
$intag = 0;
|
|
||||||
if ($tag =~ /^\/(.*)/) { # close tag
|
|
||||||
$parent = pop @node_stack;
|
|
||||||
} elsif ($tag =~ /^([^\/]*)\/$/) {
|
|
||||||
empty_tag($parent, $1);
|
|
||||||
} else {
|
|
||||||
if (defined ($node = open_tag($parent, $tag))) {
|
|
||||||
push @node_stack, $parent;
|
|
||||||
$parent = $node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
undef $tag;
|
|
||||||
} else {
|
|
||||||
if ($intag == 1) {
|
|
||||||
if (defined $tag) {
|
|
||||||
$tag .= ' '. $token;
|
|
||||||
} else {
|
|
||||||
$tag = $token;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (defined $text) {
|
|
||||||
$text .= "\n" . $token;
|
|
||||||
} else {
|
|
||||||
$text = $token;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub new_document {
|
|
||||||
$doc = new_node( 0, '', 'DOCUMENT');
|
|
||||||
$doc->{CHILDREN} = [];
|
|
||||||
return $doc;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub new_node {
|
|
||||||
local ($parent_node, $tag, $type) = @_;
|
|
||||||
|
|
||||||
my %node;
|
|
||||||
$node{PARENT} = $parent_node;
|
|
||||||
$node{TYPE} = $type;
|
|
||||||
|
|
||||||
if ($type eq 'COMMENT' || $type eq 'TEXT') {
|
|
||||||
$node{TEXT} = $tag;
|
|
||||||
$node{NAME} = $type;
|
|
||||||
return \%node;
|
|
||||||
}
|
|
||||||
|
|
||||||
local ($tname, $attr) = split(' ', $tag, 2);
|
|
||||||
$node{NAME} = $tname;
|
|
||||||
|
|
||||||
if (defined $attr && $attr ne '') {
|
|
||||||
my %attr_table;
|
|
||||||
local @attr_list = split ( /"/, $attr);
|
|
||||||
local ($name, $value);
|
|
||||||
while (scalar @attr_list) {
|
|
||||||
$name = shift @attr_list;
|
|
||||||
$name =~ s/[ =]//g;
|
|
||||||
next if ($name eq '');
|
|
||||||
$value = shift @attr_list;
|
|
||||||
$attr_table{$name} =$value;
|
|
||||||
}
|
|
||||||
$node{ATTRIBUTES} = \%attr_table;
|
|
||||||
}
|
|
||||||
return \%node;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub add_node {
|
|
||||||
local ($parent_node, $node) = @_;
|
|
||||||
push @{$parent_node->{CHILDREN}}, $node;
|
|
||||||
|
|
||||||
local $tname = $node->{NAME};
|
|
||||||
if (defined $parent_node->{$tname}) {
|
|
||||||
push @{$parent_node->{$tname}}, $node
|
|
||||||
} else {
|
|
||||||
$parent_node->{$tname} = [ $node ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub empty_tag {
|
|
||||||
local ($parent_node, $tag) = @_;
|
|
||||||
local $node = new_node($parent_node, $tag, 'EMPTY');
|
|
||||||
add_node($parent_node, $node);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub open_tag {
|
|
||||||
local ($parent_node, $tag) = @_;
|
|
||||||
local $node;
|
|
||||||
|
|
||||||
if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) {
|
|
||||||
$node = new_node($parent_node, $tag, 'COMMENT');
|
|
||||||
add_node($parent_node, $node);
|
|
||||||
undef; return;
|
|
||||||
} else {
|
|
||||||
$node = new_node($parent_node, $tag, 'NODE');
|
|
||||||
$node->{CHILDREN} = [];
|
|
||||||
add_node($parent_node, $node);
|
|
||||||
return $node;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub add_text_node {
|
|
||||||
local ($parent_node, $text) = @_;
|
|
||||||
local $node = new_node($parent_node, $text, 'TEXT');
|
|
||||||
add_node($parent_node, $node);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub node_by_name {
|
|
||||||
local ($node, $name) = @_;
|
|
||||||
local ($tagname, $path) = split(/\//, $name, 2);
|
|
||||||
|
|
||||||
my @nodelist;
|
|
||||||
|
|
||||||
if ($tagname eq '') {
|
|
||||||
while ($node->{PARENT} != 0) {
|
|
||||||
$node = $node->{PARENT};
|
|
||||||
}
|
|
||||||
sublist_by_name($node, $path, \@nodelist);
|
|
||||||
} else {
|
|
||||||
sublist_by_name($node, $name, \@nodelist);
|
|
||||||
}
|
|
||||||
return @nodelist;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sublist_by_name {
|
|
||||||
local ($node, $name, $res) = @_;
|
|
||||||
local ($tagname, $path) = split(/\//, $name, 2);
|
|
||||||
|
|
||||||
if (! defined $path) {
|
|
||||||
push @{$res}, (@{$node->{$tagname}});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($tagname eq '..' && $node->{PARENT} != 0) {
|
|
||||||
$node = $node->{PARENT};
|
|
||||||
sublist_by_name($node, $path, $res);
|
|
||||||
} else {
|
|
||||||
local $n;
|
|
||||||
for $n (@{$node->{$tagname}}) {
|
|
||||||
sublist_by_name($n, $path, $res);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub node_attribute {
|
|
||||||
local $node = @_[0];
|
|
||||||
if (defined $node->{ATTRIBUTES}) {
|
|
||||||
return $node->{ATTRIBUTES}{@_[1]};
|
|
||||||
}
|
|
||||||
undef;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub text_child {
|
|
||||||
local ($node) = @_;
|
|
||||||
local ($child) = node_by_name($node, 'TEXT');
|
|
||||||
return $child->{TEXT};
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user