#e-ink #display #utility #control #command-line-tool #mira #boox

bin+lib miractl

Boox Mira 电子墨水显示器控制和 CLI 工具库

1 个不稳定版本

0.1.0 2023 年 3 月 1 日

#5#e-ink

GPL-3.0-only

21KB
301

miractl

miractl 是一个用于管理 Boox Mira 和 Mira Pro 电子墨水显示器的工具。

安装

目前没有可用的预构建二进制文件。您需要安装 Rust 工具链,然后从存储库根目录运行

$ cargo build --release

然后只需将 target/release/miractl 复制到您的路径中的某个位置。在 Linux 上,您还需要适当的 udev 规则;请参阅以下内容。

用法

刷新显示器

$ miractl refresh

设置显示参数

$ miractl set --warm 25 --cold 15
$ miractl set --filter 10:96 --contrast 5

选择显示模式

$ miractl mode read
$ miractl mode speed

参数

暖色调
设置暖色调前灯,从 0 到 254
冷色调
设置冷色调前灯,从 0 到 254
速度
设置刷新速度,从 1 到 7
刷新模式
设置刷新模式
对比度
设置对比度,从 0 到 15
过滤器
设置白/黑过滤器

两者必须同时设置,格式为 WHITE:BLACK 其中 WHITEBLACK 是介于 0 和 127 之间的整数。

颜色过滤器与对比度

Mira 显示器都支持对比度设置和可调颜色过滤器。交互可能会有些困惑。

屏幕 UI 上的第二个滑块和官方应用程序中标记为“暗色增强”的设置都调整显示器的 对比度,介于 0-15 之间。

屏幕 UI 上的第三个滑块和官方应用程序中标记为“浅色过滤器”的设置调整白色过滤器。

白色和黑色过滤器以类似设置照片白点和黑点的方式工作。任何比白色过滤器点亮的物体都被认为是白色;任何比黑色过滤器点暗的物体都被认为是纯黑色。这会导致图像最亮和最暗的部分丢失一些细节,但通常在网页浏览中使用时可以带来显著的好处。网页的背景往往不是 100% 白色;如果没有白色过滤器,它们在显示器上会出现抖动——这种效果是令人分心的。白色过滤器允许您消除抖动,使背景显示为纯白色,从而生成更适合电子墨水显示器的更高对比度图像。

黑色滤镜的工作原理相同,对于实际上是深色的暗色文本也很有效。

在撰写本文时,无法直接从显示UI或Boox应用中设置黑色滤镜;相反,它构成了官方默认显示模式预设的一部分。

显示模式

显示模式基本上是内置的预定义的低级参数组合。共有五个:speed(速度)、text(文本)、image(图片)、video(视频)和read(阅读)。

注意事项和限制

我只有一台Boox Mira用于测试。我相信这也适用于Pro,但如果你有多台Mira屏幕,效果可能会有所不同。欢迎提交PR/进行测试。

自动抖动设置尚不支持。

udev规则

  1. 创建/etc/udev/rules.d/58-hid.rules

  2. 将以下规则复制到文件中,以支持hidrawlibusb

SUBSYSTEM=="input", GROUP="input", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5020", MODE:="666", GROUP="plugdev"
KERNEL=="hidraw*", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="5020", MODE="0666", GROUP="plugdev"
  1. 重新加载udev规则
udevadm control --reload-rules && udevadm trigger

鸣谢

USB接口的核心基于https://github.com/ipodnerd3019/mira-js的知识。

依赖项

~2–13MB
~111K SLoC