ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

remarkable_mouse 如何把平板变成鼠标?深入解析SSH传输evdev事件流

remarkable_mouse 如何把平板变成鼠标?深入解析SSH传输evdev事件流 remarkable_mouse 如何把平板变成鼠标深入解析SSH传输evdev事件流【免费下载链接】remarkable_mouseuse your reMarkable as a graphics tablet项目地址: https://gitcode.com/gh_mirrors/re/remarkable_mouseremarkable_mouse 是一个开源 Python 项目能把 reMarkable 电子墨水平板通过 SSH 变成一台带压感的数位板鼠标让你在电脑上画图时直接拿笔在平板上书写。本文带你拆解它的核心原理SSH 传输 evdev 事件流。它是怎么作弊的把笔尖事件搬到电脑上整个方案可以概括为一句话reMarkable 本身是一台跑 Linux 的小设备开启 SSH 后平板上每一下落笔都会变成内核里的 evdev 输入事件remouse 把这些二进制事件通过 SSH 管道原样搬回电脑再映射成鼠标移动和点击。关键角色有四个reMarkable 平板提供原始笔尖/触摸事件位于/dev/input/event*设备节点中SSH 通道paramiko 库建立连接远程执行dd命令持续读取事件流坐标映射把平板坐标含方向、缩放模式换算到目标显示器️本地注入pynput 模拟鼠标或用 libevdev 创建一个虚拟 Wacom 数位板30 秒上手一键安装步骤在插上 USB 线的主机上只需两条命令pip install remarkable-mouse remouse默认连接10.11.99.1密码在 reMarkable 的设置菜单里。想要无密码登录可以先生成密钥ssh-keygen -m PEM -t rsa -f ~/.ssh/remarkable -N ssh-copy-id -i ~/.ssh/remarkable.pub root10.11.99.1 remouse下面是实际运行效果——左侧 GIMP 画布跟随笔尖右侧终端执行remouse --key命令建立 SSH 连接核心原理evdev 事件流如何穿过 SSH第一步在平板上找到笔的设备连接建立后程序先执行一条探测命令readlink -f /dev/input/touchscreen0根据返回的event0 / event1 / event2自动识别机型一代、二代或 Pro再确定笔、触摸、按钮三个设备节点。这段逻辑在 remarkable_mouse/remarkable_mouse.py 中的connect_rm函数里机型配置各代设备的坐标范围、事件格式集中在remarkable_mouse/common.py的reMarkable1 / reMarkable2 / reMarkablePro三个类中。第二步用 dd 把事件流变成网络流Linux 的 evdev 事件是定长二进制结构体一次落笔会连续产生EV_ABS坐标/压力、EV_KEY按键、EV_SYN同步帧三类事件。remouse 直接远程执行dd bs24 if/dev/input/eventXdd按事件结构体的大小一代/二代为 24 字节2IHHi格式分块读取dd的输出流被 SSH 通道当作一个普通文件句柄拿回来主机端循环调用stream.read()就能持续收到平板上的原始事件——事件流就这样穿过了 SSH。第三步解码 映射 回放读到的字节用struct.unpack拆成(时间戳, 毫秒, 类型, 代码, 值)五元组再对照remarkable_mouse/codes.py中的事件码表由generate_codes.py生成的linux/input-event-codes.h映射翻译回人类可读的名称如ABS_X、BTN_TOUCH。坐标换算在common.py的remap()方法完成先按--orientation按钮在哪个方向旋转坐标系再按--mode的 fit / fill / stretch 三种模式缩放到显示器尺寸。两种回放模式普通鼠标 vs 压感数位板模式模块效果平台默认remarkable_mouse/pynput.py笔尖移动 鼠标移动落下 左键点击全平台--evdevremarkable_mouse/evdev.py创建虚拟 Wacom 数位板支持压感、倾斜仅 Linux需 root--evdev模式是高级玩法程序用 libevdev 在本地创建一个伪装成 Wacomvendor0x056a的 uinput 虚拟设备把解析后的事件原封不动注入进去GIMP 等绘图软件即可识别压感笔。运行方式sudo --preserve-envUSER,PATH env remouse --evdev实用技巧方向、区域与压感阈值旋转平板方向--orientation top/left/right/bottom以充电口朝向为准坐标系统会自动旋转指定显示器--monitor 1输出到第二屏--region弹出半透明窗口拖拽即设定映射区域需安装 python3-tk压感门槛--threshold默认 600笔尖压力超过该值才判定为点击避免轻划误触调试加--debug可逐条打印收到的 evdev 事件--key指定 SSH 私钥平板坐标系与输出坐标系的对照图可参考remarkable_mouse/notes.md中的 ASCII 示意图。小结remarkable_mouse 用不到一千行代码证明了一个巧妙思路不用破解设备只需 SSH dd 就能把 Linux 输入事件流搬到任何地方。如果你有一台闲置的 reMarkable花一分钟pip install它就是一块免费的大屏数位板——画图、标注、远程演示都能派上用场。【免费下载链接】remarkable_mouseuse your reMarkable as a graphics tablet项目地址: https://gitcode.com/gh_mirrors/re/remarkable_mouse创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表