6.44. Kbd-1.14.1

Kbd 软件包包含键盘映射表和键盘工具。

预计编译时间: 少于 0.1 SBU
所需磁盘空间: 12.5 MB

6.44.1. 安装 Kbd

Backspace 键和 Delete 键的功能在 kbd 包的键盘映射中是不一样的。下面的 patch 修正了 i386 的键盘映射中的这个问题:


patch -Np1 -i ../kbd-1.14.1-backspace-1.patch

打完 patch 之后,Backspace 键会产生字符编码 127,Delete 键会产生一个著名的逃脱序列。

在这个 Kbd 版本中,创建 getkeycodessetkeycodesresizecons 的命令不能产生 Makefile 文件。所以这些程序编译和安装时在 src/Makefile.in 文件顶端增加两行:


sed -i -e '1i KEYCODES_PROGS = @KEYCODES_PROGS@' \

    -e '1i RESIZECONS_PROGS = @RESIZECONS_PROGS@' src/Makefile.in

这个版本的 Kbd 也会为可选程序安装手册页,即使在编译它们时我们没有使用 --enable-optional-progs 选项。为了修正它:


var=OPTIONAL_PROGS

sed -i "s/ifdef $var/ifeq (\$($var),yes)/" man/Makefile.in

unset var

为编译 Kbd 做准备:


./configure --prefix=/usr --datadir=/lib/kbd

配置选项的含义:

--datadir=/lib/kbd

这个选项把键盘布局信息存放到根分区内,而不是存放在默认的 /usr/share/kbd

编译软件包:


make

这个软件包没有附带测试套件。

安装软件包:


make install

[注意]

注意

对于一些语言(例如,白俄罗斯),在 Kbd 包中在系统使用 ISO-8859-5 编码,CP1251 键盘映射的情况下没有提供相应的键盘映射。这些语种的用户需要单独下载相应的键盘映射。

LFS-Bootscripts 包中的一些脚本依赖于 kbd_modeloadkeysopenvtsetfont。因为 /usr 启动的早些时候是无法访问的。那些二进制文件需要放在根分区上:


mv -v /usr/bin/{kbd_mode,loadkeys,openvt,setfont} /bin

如果愿意的话,安装这个文档:


mkdir -v /usr/share/doc/kbd-1.14.1

cp -R -v doc/* \

         /usr/share/doc/kbd-1.14.1

6.44.2. Kbd 的内容

安装的程序: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable (link to psfxtable), psfgettable (link to psfxtable), psfstriptable (link to psfxtable), psfxtable, resizecons, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, and unicode_stop

简要描述

chvt

改变前台虚拟终端

deallocvt

重新分配不用的虚拟终端

dumpkeys

显示键盘转换表

fgconsole

显示活动虚拟控制台的数量

getkeycodes

显示内核中扫描码与键盘码的转换表

kbd_mode

显示或设置键盘模式

kbdrate

设置键盘重复和延迟的速度

loadkeys

加载键盘转换表

loadunimap

加载内核的 Unicode 到字体(unicode-to-font)之间的影射表

mapscrn

把用户定义的输出字符影射表加载到控制台驱动器中,这个由 setfont 命令完成

openvt

在一个新虚拟终端启动一个程序

psfaddtable

链接到 psfxtable

psfgettable

链接到 psfxtable

psfstriptable

链接到 psfxtable

psfxtable

处理控制台字体的 Unicode 字符表

resizecons

让内核改变控制台的大小

setfont

改变控制台的 Enhanced Graphic Adapter (EGA) 和 Video Graphics Array (VGA) 字体

setkeycodes

告诉内核的键盘驱动程序在扫描码/键码(scancode-to-keycode)影射表中加入新的影射,当你的键盘上有某些特殊建的时候这个就很有用了

setleds

设置当前终端键盘的发光二极管(LED)标志

setmetamode

设置键盘的元键(meta key)

showconsolefont

显示当前 EGA / VGA 终端的屏幕字体

showkey

报告键盘上所按键的扫描码,键码和 ASCII 码

unicode_start

使控制台进入 UNICODE 模式。除非你的映射表文件是用 ISO-8859-1 编码的,否则不要使用这个程序。对于其他的编码,这个工具会产生初五的结果。

unicode_stop

使键盘和控制台从 UNICODE 模式复原


Host by Alair