树莓派(4b)控制鼠标

树莓派 隐藏鼠标图标、设置位置

  • 背景
    • 一、unclutter
    • 二、PyUserInput(PyMouse)
      • 异常
    • 目前先用第一种方法。

背景

在做一个项目,需要占用树莓派屏幕部分区域作为显示界面,不希望鼠标图标遮盖到这个界面,于是百度,找到两个方法。

一、unclutter

安装不用多说了:

sudo apt-get install unclutter

安装之后,重启树莓派。不动鼠标2秒左右,鼠标图标就会隐藏,没有进行任何设置。网上资料都需要设置开机启动之类的,很纳闷。

二、PyUserInput(PyMouse)

由于使用python3脚本写界面,所以可以用网上说的使用PyUserInput模拟鼠标动作,可以让鼠标移动到屏幕边缘,防止遮盖自己的界面。
安装 PyUserInput:

sudo pip3 install -i http://mirrors.aliyun.com/pypi/simple pyuserinput

在安装python3-xlib(因为用的python3解释器执行):

sudo pip3 install -i http://mirrors.aliyun.com/pypi/simple python3-xlib

临时使用的阿里云pypi镜像源。

异常

copy 网上代码,在python脚本对应位置添加:

...
from pymouse import PyMouse

...

m = PyMouse()
m.move(1900, 1000)
...

在Thonny Python IDE 或者 终端中执行这个python脚本都没问题,鼠标图标会跳到1900,1000处。
由于我的python脚本要使用service的方式开机运行,当使用sudo systemctl start pyxxx.service时,python脚本有错误日志输出,当然这段python代码也没有成功运行,鼠标没有到指定位置。具体报错内容:

Traceback (most recent call last):
  ~~File "/home/pi/xxx.py", line 577, in <module>~~ 
    m = PyMouse()
  File "/usr/local/lib/python3.7/dist-packages/pymouse/x11.py", line 86, in __init__
    self.display = Display(display)
  File "/usr/local/lib/python3.7/dist-packages/Xlib/display.py", line 89, in __init__
    self.display = _BaseDisplay(display)
  File "/usr/local/lib/python3.7/dist-packages/Xlib/display.py", line 71, in __init__
    protocol_display.Display.__init__(self, *args, **keys)
  File "/usr/local/lib/python3.7/dist-packages/Xlib/protocol/display.py", line 84, in __init__
    name, protocol, host, displayno, screenno = connect.get_display(display)
  File "/usr/local/lib/python3.7/dist-packages/Xlib/support/connect.py", line 73, in get_display
    return mod.get_display(display)
  File "/usr/local/lib/python3.7/dist-packages/Xlib/support/unix_connect.py", line 76, in get_display
    raise error.DisplayNameError(display)
Xlib.error.DisplayNameError: Bad display name ""

没有解决!没有找到解决办法!


目前先用第一种方法。

你可能感兴趣的:(树莓派,Python)