牛骨文教育服务平台(让学习变的简单)

6.42. Kbd-1.12

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

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

6.42.1. 安装 Kbd

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

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

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

应用 patch 来修正 Kbd 中的 setfont 在 GCC-4.0.3 下编译出错的问题:

patch -Np1 -i ../kbd-1.12-gcc4_fixes-1.patch

为编译 Kbd 做准备:

./configure --datadir=/lib/kbd

配置选项的含义:

--datadir=/lib/kbd

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

编译软件包:

make

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

安装软件包:

make install

注意

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

LFS-Bootscripts 包中的一些脚本依赖于 kbd_modeopenvt,和 setfont。因为 /usr 在启动的早些时候是无法访问的(没有挂载)。那些二进制文件需要放在根分区上:

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

6.42.2. Kbd 的内容

安装的程序: chvt, deallocvt, dumpkeys, fgconsole, getkeycodes, kbd_mode, kbdrate, loadkeys, loadunimap, mapscrn, openvt, psfaddtable(→psfxtable), psfgettable(→psfxtable), psfstriptable(→psfxtable), psfxtable, resizecons, setfont, setkeycodes, setleds, setmetamode, showconsolefont, showkey, unicode_start, 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 改变控制台的 EGA 或 VGA 字体
setkeycodes 告诉内核的键盘驱动程序在扫描码/键码(scancode-to-keycode)影射表中加入新的影射,当你的键盘上有某些特殊建的时候这个就很有用了。
setleds 设置当前终端键盘的发光二极管(LED)标志
setmetamode 设置键盘的元键(meta key)
showconsolefont 显示当前 EGA / VGA 终端的屏幕字体
showkey 测试键盘发出的扫描码和键码
unicode_start 使控制台进入 UNICODE 模式。在 LFS 系统中从不使用,因为应用程序并未配置为支持 UNICODE 。
unicode_stop 终止控制台的 UNICODE 模式