#旋转 #显示 #x11 #sway #wayland协议

应用程序 rot8

使用内置加速度计自动旋转显示

6个版本 (1个稳定版本)

1.0.0 2023年10月4日
0.1.5 2022年9月13日
0.1.4 2022年5月12日
0.1.3 2020年1月4日
0.1.1 2019年8月17日

Unix API 中排名 228

Download history 2/week @ 2024-04-15 12/week @ 2024-04-22 5/week @ 2024-05-13 5/week @ 2024-05-20 35/week @ 2024-05-27 18/week @ 2024-06-03 26/week @ 2024-06-10 18/week @ 2024-06-17 18/week @ 2024-06-24 9/week @ 2024-07-01 16/week @ 2024-07-08 16/week @ 2024-07-15 14/week @ 2024-07-22 25/week @ 2024-07-29

每月下载 72

MIT 许可证

30KB
647 代码行

rot8

Rust

使用内置加速度计自动旋转显示

自动旋转现代Linux桌面屏幕和输入设备。适用于HP Spectre x360、Lenovo IdeaPad Flex等可转换触摸屏笔记本电脑,以及Pinephone等Linux手机。

与支持 wlr_output_management_v1 协议的X11和Wayland合成器兼容(如 swayhyprland)。

安装

软件包

可在以下位置获取

Arch用户仓库: rot8-git

Void软件包: rot8

Nixpkgs: rot8

手动从源码构建

构建二进制文件需要Rust语言和cargo软件包管理器。

$ git clone https://github.com/efernau/rot8
$ cd rot8 && cargo build --release
$ cp target/release/rot8  /usr/bin/rot8

或者

$ cargo install rot8

使用方法

根据需要将输入映射到输出设备。例如,对于sway


$ swaymsg input <INPUTDEVICE> map_to_output <OUTPUTDEVICE>

从您的合成器配置中调用rot8。例如,对于sway


exec rot8

对于X11设置触摸屏设备


rot8 --touchscreen <TOUCHSCREEN>

这将会启动运行中的守护进程,持续检查旋转。

以下是一些参数(默认值)


--sleep                 // Set millis to sleep between rotation checks (500)
--display               // Set Display Device (eDP-1)
--touchscreen           // Set Touchscreen Device X11, allows multiple devices (ELAN0732:00 04F3:22E1)
--keyboard              // Set keyboard to deactivate upon rotation, for Sway only
--threshold             // Set a rotation threshold between 0 and 1, higher is more sensitive (0.5)
--normalization-factor  // Set factor for sensor value normalization (1e6)
--invert-x              // Invert readings from the HW x axis
--invert-y              // Invert readings from the HW y axis
--invert-z              // Invert readings from the HW z axis
--oneshot               // Updates the screen rotation just once instead of continuously
--beforehooks           // Execute a custom script before rotation
--hooks                 // Execute a custom script after the rotation has finished
--version               // Returns the rot8 version

您可能需要调整归一化因子(尝试10的倍数)和轴反转,以便正确计算加速度计读数。

依赖项

~8–18MB
~246K SLoC