有没有办法“重新启动”触摸板驱动程序?

有没有办法“重新启动”触摸板驱动程序?

我在笔记本电脑上使用 Ubuntu 14.04,通常连接外部 USB 鼠标、键盘和屏幕。但有时,我会拔掉所有设备并移动笔记本电脑,继续使用内置键盘、屏幕和触摸板。

有时触摸板会停止工作(但如果我插入 USB 鼠标,USB 鼠标就会工作)。虽然这种情况很少发生,但一旦发生就会非常烦人,因为如果我需要触摸板再次工作,就必须重新启动。

有没有我可以尝试的解决方法,比如终止一些会自动重启的进程,或者一些会导致触摸板驱动程序重启或刷新的命令?有什么方法可以“唤醒”触摸板而无需重启吗?

答案1

要重新启动笔记本电脑的触摸板驱动程序:

Ctrl++打开Alt终端T 并执行以下命令

sudo  modprobe -r psmouse

然后

sudo modprobe psmouse

答案2

我找到了一种方法来做到这一点:

首先,打开一个终端,打印出所有输入设备,以找到要禁用的输入设备所需的 ID。在终端中,输入:

xinput --list

接下来:请注意,每个输入设备都有一个长列,其中写着 id=X。您需要找到与要禁用的输入设备相对应的设备 ID(可能听起来像“触摸板”)。然后将以下命令中的 X 替换为代表要禁用的输入设备的 ID 号:

xinput disable X

注意:如果您不确定应该使用哪个设备 ID 来禁用触摸板,那么您可以通过测试随机 ID 并查看鼠标垫是否仍然有效来找出答案。确保您没有做任何重要的事情。如果您执行了诸如禁用键盘之类的操作,请保存所有工作并准备重新启动计算机。(如果您无法在终端中输入内容,则尝试再次启用它可能会遇到麻烦。

然后你必须运行这最后一行(感谢 Arch Stanton 发现这个!)

xinput enable X

原因:我迫切需要解决这个问题,因为我的触摸板出现问题,导致我无法完成任何工作。突然,在使用笔记本电脑的某个随机时刻,我的触摸板似乎毫无原因地进入了某种“特殊模式”。仅仅在触摸板上移动一根手指就会导致屏幕滚动,而不是实际移动屏幕上鼠标的光标,因此如果不进行大量协调工作来解释滚动屏幕和不移动鼠标的情况,就不可能让鼠标悬停在浏览器中的任何内容上。我想找到一种无需重新启动笔记本电脑即可重置触摸板的方法。从好的方面来看,使用上述方法重置触摸板确实解决了我的问题。

更新:为了让重置触摸板更加容易,我为上面列出的命令制作了一个热键。当我的触摸板出现故障时,我只需按组合键 ctrl+super+r,它就会帮我重置。快速又简单。

就是这样:

-在您的主目录中创建一个文件,并将其命名为“touchpad-reset.sh”。

-在这个文件中,输入上面列出的三个命令中的两个(最后两个),但不使用设备的 X id 号码,因为它会随着外围设备的添加而改变(可能??),您可以改用这个:

这是使用此命令在我的计算机终端内产生的输出:

xinput --list

结果:

Virtual core pointer                        id=2    [master pointer  (3)]⎜   
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]⎜   
   ↳ Genius 2.4G Wireless Mouse                 id=10   [slave  pointer  (2)]⎜   
   ↳ MSFT0001:00 06CB:75BD UNKNOWN              id=13   [slave  pointer  (2)]⎜   
   ↳ ELAN Touchscreen                           id=12   [slave  pointer  (2)]⎜ 

-现在您要做的就是将 xinput disable X 和 xinput enable X 中的 X(之前是 id)替换为单引号内与该 id 对应的名称。例如,从上面来看,如果您想对 id=13(我的触摸板设备)执行此操作,则可以使用:

xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'

-所以现在,您是按名称而不是 ID 号来禁用,其中 ID 可能会随着时间而改变,然后您将禁用和启用其他设备。

最后,您需要授予使该文件可执行的权限;以终端中的工作目录作为主目录(您创建文件的位置)运行此命令:

chmod +x your_script_name.sh

因此,一旦您创建了此文件并在其中写入了适当的命令,请确保它位于您的主目录中,请执行以下步骤:

  1. 按下键盘上的超级键(PC 上的 Windows 键)调出 Unity 侧栏。输入“系统设置”并按回车键。
  2. 在“硬件”下找到“键盘”选项并单击它。
  3. 选择“快捷方式”选项卡。
  4. 在左侧窗口中,选择“自定义快捷方式”
  5. 单击靠近底部中心的 + 按钮。
  6. 将会弹出一个窗口,要求输入描述名称和命令。
  7. 将其命名为“重置触摸板”
  8. 使用此命令:gnome-terminal -x ./name_of_your_script.sh
  9. 点击“应用”
  10. 现在您应该会看到列出的快捷方式,最右侧应该显示“已禁用”或其他一些乱码。单击该文本并准备进行某种组合键操作,例如 ctrl+super+r。
  11. 一旦完成此组合键,就大功告成了。

恭喜!玩得开心。

答案3

我在使用一台笔记本电脑时反复遇到这个问题,直到我注意到那台电脑的触摸板有自己的开关,我一定是不小心按到了。值得注意的是,这个开关无法将其重新打开。我只是小心不要按到它,不久之后,我开始使用带有集成无线触摸板的外部无线键盘,从那以后我就再也没有遇到过这个问题。

更新: (注意:下面的链接已损坏,解决方案在上面) 自从发布这个“解决方案”后,我发布了一条评论,显然满足了用户的需求。现在才知道评论只是暂时保留,并会自动删除,所以我重新发布了下面这条有用的评论的内容,以便其他人可以保留它:

我分享了对我有用的“解决方案”。今天我突然想到用谷歌搜索更符合你原始问题的解决方案,并找到了以下链接。我个人认为这不是“方便的”,但至少可以将其制作成脚本,这样会更优雅。我发现了这个(见下文)— gyropyge 9月25日 20:06

Alt+F2并输入gksudo modprobe -r psmouse输入密码,按Enter,然后再次按Alt+F2输入以下内容gksudo modprobe psmouse,然后按Enter

答案4

如果您有 Synaptics 触摸板:

synclient TouchpadOff=0

相关内容