moused(8)
moused — 将鼠标数据传递给控制台驱动
名称
moused
概要
moused [-dfg] [-I file] [-F rate] [-r resolution] [-VH [-U distance -L distance]] [-A exp[,offset]] [-a X[,Y]] [-C threshold] [-m N=M] [-w N] [-z target] [-t interfacetype] [-l level] [-3 [-E timeout]] [-T distance[,time[,after]]] -p port
moused [-d] -p port -i info
描述
moused 工具与控制台驱动协同工作,以支持文本控制台和用户程序中的鼠标操作。它们将鼠标虚拟化,并以标准格式向用户程序提供鼠标数据(参见 sysmouse(4))。
鼠标守护进程监听指定端口上的鼠标数据,解释后通过 ioctl 传递给控制台驱动。支持的数据接口为"input event device"(又称 evdev)和 sysmouse(4) level 1。鼠标守护进程报告平移移动、按钮按下/释放事件,以及滚轮或滚轮的移动(如果可用)。滚轮/滚轮的移动以"Z"轴移动的形式报告。
如果通过 vidcontrol(1) 在虚拟控制台中启用了鼠标指针,控制台驱动将在屏幕上显示鼠标指针并提供剪切和粘贴功能。如果用户程序打开了 sysmouse(4),控制台驱动还会将鼠标数据传递给该设备,以便用户程序能够看到。
如果鼠标守护进程收到 SIGHUP 信号,它将重新打开鼠标端口并重新初始化自身。当系统挂起时鼠标被插入/拔出时,这很有用。
如果鼠标守护进程收到 SIGUSR1 信号,它将停止传递鼠标事件。再次发送 SIGUSR1 信号将恢复传递鼠标事件。当你在笔记本电脑上打字时因意外触碰触摸板而被打断时,这很有用。
以下选项可用:
-3 为双键鼠标模拟第三个(中)按键。通过同时按下左右物理按键来模拟。
-C threshold 将双击速度设为按钮点击之间的最大间隔(毫秒)。不使用此选项时,默认值为 500 毫秒。此选项仅对文本模式控制台中的剪切和粘贴操作有效。通过 sysmouse(4) 读取鼠标数据的用户程序不受影响。
-E timeout 当启用第三按键模拟(见上文)时,moused 工具最多等待 timeout 毫秒来决定是否同时按下了两个按键。默认超时为 100 毫秒。
-F rate 仅适用于 sysmouse(4) 接口。如果设备支持,设置设备的报告率(报告/秒)。
-L distance 当启用"虚拟滚动"时,-L 选项可用于设置鼠标必须移动的 distance(以像素为单位)才能生成滚动事件。这实际上控制了滚动速度。默认 distance 为 2 像素。
-H 启用"水平虚拟滚动"。设置此选项后,按住中键将使移动被解释为水平滚动。使用 -U 选项设置鼠标必须移动多少距离才能激活滚动模式,使用 -L 选项设置滚动速度。此选项可与 -V 选项一起使用,也可单独使用。
-I file 将 moused 工具的进程 ID 写入指定文件。不使用此选项时,进程 ID 将存储在 /var/run/moused.pid。
-T distance[,time[,after]] 终止漂移。如果鼠标未移动时鼠标指针缓慢漂移,请使用此选项。在 time 毫秒(默认 500)内最多 distance(例如 4)像素(X+Y)的移动将被忽略,但自上次真实鼠标移动后的 after 毫秒(默认 4000)内除外。
-V 启用"虚拟滚动"。设置此选项后,按住中键将使移动被解释为滚动。使用 -U 选项设置鼠标必须移动多少距离才能激活滚动模式,使用 -L 选项设置滚动速度。
-U distance 当启用"虚拟滚动"时,-U 选项可用于设置鼠标必须移动的 distance(以像素为单位)才能激活滚动模式。默认 distance 为 3 像素。
-A exp[,offset] 对鼠标移动应用指数(动态)加速:鼠标移动得越快,加速越多。这意味着小幅鼠标移动不会被加速,因此仍然非常精确,而较快的移动会快速驱动指针穿过屏幕。exp 值指定指数,基本上就是加速量。有用的值在 1.1 到 2.0 范围内,但这取决于你的鼠标硬件和个人偏好。值为 1.0 表示无指数加速。值为 2.0 表示平方加速(即,如果鼠标移动速度加倍,指针在屏幕上的移动速度将增加四倍)。超过 2.0 的值是可能的,但不推荐。起始值大概 1.5 比较好。
可选的 offset 值指定加速开始的距离。默认为 1.0,意味着加速应用于大于一个单位的移动。如果指定更大的值,则需要更高的速度才能触发加速,即小幅精确移动的速度范围更宽。通常默认值就足够了,但如果你对行为不满意,请尝试值 2.0。
请注意,-A 选项与 X 服务器自身的加速交互不佳,后者本身就不太好。因此,如有必要建议关闭它:"xset m 1"。
-a X[,Y] 加速或减速鼠标输入。这仅是线性加速。小于 1.0 的值减慢移动,大于 1.0 的值加快移动。仅指定一个值时,为两个轴设置相同的加速。你可以同时使用 -a 和 -A 选项以获得线性和指数加速的组合效果。
-d 启用调试消息。
-f 不成为守护进程,而是作为前台进程运行。用于测试和调试。
-g 仅适用于 evdev 接口。成为所有传入输入事件的唯一接收者。这防止其他进程获取该设备上的输入事件。
-i info 打印指定信息并退出。可用信息项有:
port端口(设备文件)名称,即 /dev/input/event0、/dev/ums0 和 /dev/psm0。if接口类型:"evdev"或"sysmouse"。type设备类型:"mouse"或"touchpad"。model鼠标型号。all以上所有项。按 port、type 和 model 的顺序在一行中打印。
如果 moused 工具无法确定所请求的信息,它会打印"unknown"或"generic"。
-l level 被忽略。用于与旧版 moused 兼容。
-m N=M 将物理按键 M 分配给逻辑按键 N。你可以按需指定此选项的多个实例。多个物理按键可以同时分配给一个逻辑按键。在这种情况下,只要任一被分配的物理按键被按下,逻辑按键即为按下状态。不要在 = 周围加空格。
-p port 使用 port 与鼠标通信。
-r resolution 仅适用于 sysmouse(4) 接口。设置设备的分辨率;以每英寸点数(DPI)为单位,或为 low、medium-low、medium-high 或 high。并非所有设备都支持此选项。
-t type 强制指定连接到端口的鼠标的接口类型。你可以显式指定下面列出的类型,或使用 auto 让 moused 工具为给定字符设备自动选择适当的协议。如果在命令行中完全省略此选项,则假定 -t auto。此选项的有效类型如下所列。请注意,此选项限制给定端口的使用方式,而不是给出提示。有效类型有:
evdev通常驻留在 /dev/input 中的输入事件设备。
-q config 配置文件路径。
-Q quirks quirks 目录路径。
-w N 使物理按键 N 充当滚轮模式按键。按下此按键时,X 和 Y 轴移动报告为零,Y 轴移动映射到 Z 轴。你可以通过下文的 -z 选项进一步将 Z 轴移动映射到虚拟按键。
-z target 将 Z 轴(滚轮/滚轮)移动映射到另一个轴或虚拟按键。有效的 target 可以是:
xy当检测到 Z 轴移动时,将报告 X 或 Y 轴移动。N当检测到负向和正向 Z 轴移动时,分别报告虚拟按键N和N+1的按下事件。不需要实际存在物理按键N和N+1。请注意,从 Z 轴移动到虚拟按键的映射完成后,再进行到逻辑按键的映射。N1 N2当检测到负向和正向 Z 轴移动时,分别报告虚拟按键N1和N2的按下事件。N1 N2 N3 N4这对于带有两个滚轮的鼠标很有用,其中第二个滚轮用于生成水平滚动动作,也适用于带有可检测用户施加水平力的旋钮或摇杆的鼠标。第二个滚轮的移动将映射到按键N3(负方向)和N4(正方向)。如果按键N3和N4在此鼠标中实际存在,它们的动作将不会被检测到。请注意,水平移动或第二个滚轮/滚轮移动可能并不总能被检测到,因为对于其编码方式似乎没有公认的标准。还请注意,某些鼠标认为左是负水平方向;其他鼠标可能不这么认为。此外,有些鼠标的两个滚轮都垂直安装,第二个垂直滚轮的方向与第一个不匹配。
多鼠标
moused 工具可根据 -p 选项的值以两种不同模式运行。当以 -p auto 选项启动时,moused 在单个实例中处理所有识别到的指向设备。通过 devd(8) 支持设备热插拔。此模式下仅 evdev 接口可用。当以 -p <selected_port> 选项启动时,moused 处理位于 <selected_port> 的单个设备。此模式下 evdev 和 sysmouse(4) level 1 接口均可用。多个 moused 实例可同时运行。
文件
/dev/consolectl 控制控制台的设备
/dev/input/event%d 输入事件设备
/dev/psm%d PS/2 鼠标驱动
/dev/sysmouse 虚拟化鼠标驱动
/dev/ums%d USB 鼠标驱动
/var/run/moused.pid 当前运行的
moused工具的进程 ID
实例
启动 moused 工具以自动处理所有 evdev 指向设备并支持热插拔。然后启用文本控制台中的鼠标指针。守护进程也可以不带 -p 选项启动。
以独占前台调试模式在 /dev/input/event0 上启动鼠标守护进程。独占模式可能在 Xorg 会话中禁用鼠标。
将物理按键 3(右键)分配给逻辑按键 1(逻辑左键),将物理按键 1(左键)分配给逻辑按键 3(逻辑右键)。这将有效地交换左右按键。
将负 Z 轴移动(即鼠标滚轮)报告为按键 4 按下,将正 Z 轴移动(即鼠标滚轮)报告为按键 5 按下。
如果将
添加到你的 /usr/local/etc/sudoers 文件,并将
绑定到窗口管理器中的某个按键,那么当你在笔记本电脑上打字时不断蹭到触摸板,就可以挂起鼠标事件。
参见
moused.conf(5), kill(1), vidcontrol(1), xset(1), keyboard(4), psm(4), sysmouse(4), ums(4), devd(8)
历史
moused 工具首次出现于 FreeBSD 2.2。它在 FreeBSD 15.0 中被重写以支持多个输入事件设备。
作者
moused 工具最初由 Michael Smith msmith@FreeBSD.org 编写。本手册页由 Mike Pritchard mpp@FreeBSD.org 编写。命令和手册页此后由 Kazutaka Yokota yokota@FreeBSD.org 更新。多输入事件设备支持由 Vladimir Kondratyev wulf@FreeBSD.org 添加。
注意事项
虚拟控制台中的剪切和粘贴功能假定鼠标有三个按键。逻辑按键 1(逻辑左键)选择控制台中的文本区域并将其复制到剪切缓冲区。逻辑按键 3(逻辑右键)扩展选定区域。逻辑按键 2(逻辑中键)在文本光标位置粘贴选定的文本。如果鼠标只有两个按键,则中键("粘贴"按钮)不可用。要获得粘贴功能,请使用 -3 选项模拟中键,或使用 -m 选项将物理右键分配给逻辑中键:"-m 2=3"。
最后更新于
这有帮助吗?