4.5 键盘和鼠标

4.5.1. FreeBSD 支持我的 USB 键盘吗?
4.5.2. 我有一个不太寻常的总线鼠标。我如何设置这种鼠标?
4.5.3. 我如何使用我的 PS/2 (“鼠标端口” 或 “键盘”) 鼠标?
4.5.4. 在 X Window 系统外可能使用鼠标吗?
4.5.5. 我如何在文本控制台上用鼠标剪切与粘贴文本?
4.5.6. 我的鼠标有个奇特的滚轮和一些按键。我可以在 FreeBSD 中使用这些滚轮和按键吗?
4.5.7. 我如何使用我的笔记本计算机上的鼠标/轨迹球/接触板?
4.5.8. How do I use my delete key in sh and csh?

4.5.1. FreeBSD 支持我的 USB 键盘吗?

FreeBSD 直接支持 USB 键盘。 如果您启用了 USB 键盘支持, 并且系统中同时接入了 AT 和 USB 键盘, 则 AT 键盘会成为 /dev/kbd0, 而 USB 键盘则会成为 /dev/kbd1。 如果只有 USB 键盘, 则它会成为 /dev/ukbd0

如果您希望在控制台使用 USB 键盘, 您需要明确地告诉控制台驱动使用现有的 USB 键盘。 这可以通过在系统启动时执行下面的命令来完成。

# kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null

注意,如果 USB 键盘是唯一的键盘, 可以以 /dev/ukbd0 访问,所以, 命令应该是:

# kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null

注意: 如果希望系统记住这一变动, 可以在 /etc/rc.conf 中加入 keyboard="/dev/ukbd0"

一旦这已做完,USB 键盘不需要专门设置就应可以工作于 X 环境中。

如果希望换回使用默认的键盘, 使用下面的命令:

# kbdcontrol -k /dev/kbd0 > /dev/null

配合 kbdmux(4) 驱动和下列命令, 可以同时使用 USB 键盘和 AT 键盘:

# kbdcontrol -K < /dev/console > /dev/null
kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null
kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null
kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null

请参见联机手册 ukbd(4)kbdcontrol(1) 以及 kbdmux(4) 以了解进一步的信息。

注意: USB 键盘的热插拔有时工作会不正常。 我们建议您在系统启动时就将其插上, 并在系统关机之后再拔下, 以避免触发问题。

4.5.2. 我有一个不太寻常的总线鼠标。我如何设置这种鼠标?

FreeBSD 支持一些生产商的,如 Microsoft®、Logitech、ATI 的, 总线鼠标和 InPort 总线鼠标。 GENERIC 内核不包含这些设备驱动程序。 如需建造一个带有这些驱动程序的自定制的内核, 须将如下一个加入到内核配置文件中:

device mse0 at isa? port 0x23c irq5

总线鼠标通常配有专门的接口卡。 这些接口卡使你可以设置不同于上面的端口地址和中断请求线号。 参考你的鼠标的手册和联机手册 mse(4) 以获得更多信息。

4.5.3. 我如何使用我的 PS/2 (“鼠标端口” 或 “键盘”) 鼠标?

PS/2 鼠标是以外置设备的形式被支持的。 必要的驱动程序 psm 已被包含在内核中。

如果你的自定制的内核没有这个驱动程序, 添加下面一行到你的内核配置文件中并编译一个新内核。

device psm0 at atkbdc? irq 12

一旦内核在引导时正确地检测到了 psm0, 就会自动创建 psm0 的设备节点。

4.5.4. 在 X Window 系统外可能使用鼠标吗?

如果你正在使用默认的控制台驱动程序 syscons(4),你可以在文本控制台上使用鼠标光标 剪切和粘贴文本。请运行鼠标守护程序 moused(8),并在虚拟控制台上启用鼠标光标:

# moused -p /dev/xxxx -t yyyy
# vidcontrol -m on

这里 xxxx 是鼠标设备名, yyyy 是鼠标协议类型。 鼠标守护程序可以自动侦测大多数鼠标的协议类型, 除了一些旧的串行鼠标。 指定 auto(自动) 协议则实行自动侦测。 如果自动侦测不奏效,则参看联机手册 moused(8) 里的已支持协议类型的清单。

如果你有一个 PS/2 鼠,只需添加 moused_enable="YES"/etc/rc.conf, 即可在引导时启动鼠标守护程序。还有, 如果你要在所有虚拟终端上而不只是控制台上使用鼠标守护程序, 添加 allscreens_flags="-m on"/etc/rc.conf

在鼠标守护程序运行的时候, 对鼠标的访问必须在鼠标守护程序和其它程序如 X Windows 之间进行。参考本问答集的 为什么我的鼠标不能与 X 协同工作? 以获得此问题的更多详细信息。

4.5.5. 我如何在文本控制台上用鼠标剪切与粘贴文本?

一旦你已经让鼠标守护程序运行了起来 (参看 前一节),你就可以按住 第 1 键 (左键) 并移动鼠标选择一个区域的文本。 然后,按第 2 键 (中键) 粘贴选定文本到文本光标位置。按第 3 键 ( 右键) 会 “扩展” 已选文本的区域。

如果你的鼠标没有中键,你可以模拟出中键 或使用鼠标守护程序选项重映射出相应功能。 详情参见联机手册 moused(8)

4.5.6. 我的鼠标有个奇特的滚轮和一些按键。我可以在 FreeBSD 中使用这些滚轮和按键吗?

很不幸,答案是“看情况”。 多数情形中这些有附加功能的鼠标需要特别设计的驱动程序。 如果鼠标设备驱动程序或用户程序对于该鼠标无专门支持, 这只鼠标就只能像标准的 2 键和 3 键鼠标那样使用。

对于滚轮在 X Window 环境中可能的用途, 请参考 这一节

4.5.7. 我如何使用我的笔记本计算机上的鼠标/轨迹球/接触板?

4.5.8. How do I use my delete key in sh and csh?

For the Bourne Shell, add the following lines to your .shrc. See sh(1) and editrc(5).

bind ^? ed-delete-next-char # for console
bind ^[[3~ ed-delete-next-char # for xterm

For the C Shell, add the following lines to your .cshrc. See csh(1).

bindkey ^? delete-char # for console
bindkey ^[[3~ delete-char # for xterm

For more information, see this page.

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.