https://github.com/katyo/tablet-assist
Tablet-mode assistance for convertible laptops.
https://github.com/katyo/tablet-assist
Last synced: 8 months ago
JSON representation
Tablet-mode assistance for convertible laptops.
- Host: GitHub
- URL: https://github.com/katyo/tablet-assist
- Owner: katyo
- Created: 2023-12-30T15:51:55.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-12T14:59:33.000Z (about 2 years ago)
- Last Synced: 2024-04-14T04:24:19.714Z (about 2 years ago)
- Language: Rust
- Size: 127 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tablet-mode assistance
[](https://github.com/katyo/tablet-assist)
[](https://opensource.org/licenses/MIT)
[](https://github.com/katyo/tablet-assist/actions?query=workflow%3ARust)
This software intended to support convertible and tablet devices with Linux.
Current status still work-in-progress but main features already implemented.
## Packages
- **tablet-assist-service** - system service which interacts with hardware (tablet switch and accelerometer sensors) and provides D-Bus properties to be able detect current device usage
- **tablet-assist-agent** - user session service which configures screen orientation and input devices according to settings and current device usage
- **tablet-assist-ui** - simple GTK-based UI to interact with agent for switching modes and configuring
### Service
Features:
- [x] Support for Libinput tablet-mode switches
- [x] Support for Industrial IO accelerometers
- [ ] Support tablet-mode detection using two accelerometers
System D-Bus service properties:
- `HasTabletMode` - tablet-mode detection supported by service
- `true` - detection supported
- `false` - detection not supported
- `TabletMode` - detected mode
- `true` - currently in tablet mode
- `false` - currently in laptop mode
- `HasOrientation` - screen orientation detection supported by service
- `true` - detection supported
- `false` - detection not supported
- `Orientation` - detected orientation
- `top-up`
- `bottom-up`
- `left-up`
- `right-up`
### Agent
Features:
- [x] Enabling/disabling input devices when tablet-mode switched
- [x] Changing screen orientation when orientation changed
- [x] Auto and manual tablet-mode switching
- [x] Auto and manual screen orientation changing
### UI
- [x] Tray indicator for quick controls
- [ ] Input devices configuration dialog
## Installation
### Service
```sh
cargo build --release -p tablet-assist-service
cp target/release/tablet-assist-service /usr/sbin
cp data/tablet-assist.service /usr/lib/systemd/system
cp data/tablet.assist.Service.conf /usr/share/dbus-1/system.d
cp data/tablet.assist.Service.service /usr/share/dbus-1/system-services
```
### Agent
```sh
cargo build --release -p tablet-assist-agent
cp target/release/tablet-assist-agent /usr/sbin
cp data/tablet-assist-agent.service /usr/share/systemd/user
cp data/tablet.assist.Agent.service /usr/share/dbus-1/services
```
### UI
```sh
cargo build --release -p tablet-assist-ui
cp target/release/tablet-assist-ui /usr/bin
cp data/tablet-assist.desktop /etc/xdg/autostart
```
## Supported devices
- [x] Lenovo ThinkPad X1
- [x] Gen4 (tested)
- [ ] Teclast F5
Welcome for issues and PRs with support for other devices!