6.42. Kbd-1.12
最后更新于:2022-04-01 22:50:31
# 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_mode`, `openvt`,和 `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 模式 |
';