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 键盘的热插拔有时工作会不正常。 我们建议您在系统启动时就将其插上, 并在系统关机之后再拔下, 以避免触发问题。
FreeBSD 支持一些生产商的,如 Microsoft®、Logitech、ATI 的, 总线鼠标和 InPort 总线鼠标。 GENERIC 内核不包含这些设备驱动程序。 如需建造一个带有这些驱动程序的自定制的内核, 须将如下一个加入到内核配置文件中:
device mse0 at isa? port 0x23c irq5
总线鼠标通常配有专门的接口卡。 这些接口卡使你可以设置不同于上面的端口地址和中断请求线号。 参考你的鼠标的手册和联机手册 mse(4) 以获得更多信息。
PS/2 鼠标是以外置设备的形式被支持的。 必要的驱动程序 psm 已被包含在内核中。
如果你的自定制的内核没有这个驱动程序, 添加下面一行到你的内核配置文件中并编译一个新内核。
device psm0 at atkbdc? irq 12
一旦内核在引导时正确地检测到了 psm0, 就会自动创建 psm0 的设备节点。
如果你正在使用默认的控制台驱动程序 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 协同工作? 以获得此问题的更多详细信息。
很不幸,答案是“看情况”。 多数情形中这些有附加功能的鼠标需要特别设计的驱动程序。 如果鼠标设备驱动程序或用户程序对于该鼠标无专门支持, 这只鼠标就只能像标准的 2 键和 3 键鼠标那样使用。
对于滚轮在 X Window 环境中可能的用途, 请参考 这一节。
请参考 前一个问题的答案。
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>.