https://github.com/bigbuildbench/efernau_rot8

https://github.com/bigbuildbench/efernau_rot8

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BigBuildBench
  • License: mit
  • Language: Rust
  • Default Branch: master
  • Size: 97.7 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

rot8

Rust

automatic display rotation using built-in accelerometer

Automatically rotate modern Linux desktop screen and input devices. Handy for convertible touchscreen notebooks like HP Spectre x360, Lenovo IdeaPad Flex or Linux phone like Pinephone.

Compatible with X11 and Wayland compositors which support the wlr_output_management_v1 protocol (Like sway and hyprland).

installation

packages

Arch User Repository: rot8-git

GNU Guix Package: rot8

Nixpkgs: rot8

Void Package: rot8

manually build from source

Rust language and the cargo package manager are required to build the binary.

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

or

``` $ cargo install rot8

```

usage

Map your inputs to the output device as necessary. e.g. for sway:

```

$ swaymsg input maptooutput

```

Call rot8 from your compositor configuration. e.g. for sway:

```

exec rot8

```

For X11 set Touchscreen Device

```

rot8 --touchscreen

```

This will start the daemon running, continuously checking for rotations.

There are the following args (defaults):

```

--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 --invert-xy // Map HW axes to internal x and y respectively (xy, yx, zy, yz, xz, zx) --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

```

You may need to play with the normalization factor (try multiples of 10) and the axis inversions to get the accelerometer readings to calculate right.

Owner

  • Name: BigBuildBench
  • Login: BigBuildBench
  • Kind: organization

abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.

GitHub Events

Total
  • Create event: 5
Last Year
  • Create event: 5

Dependencies

.github/workflows/rust.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
Cargo.lock cargo
  • aho-corasick 1.1.1
  • atty 0.2.14
  • autocfg 1.1.0
  • bitflags 1.3.2
  • bitflags 2.4.0
  • cc 1.0.83
  • cfg-if 1.0.0
  • clap 3.2.25
  • clap_lex 0.2.4
  • dlib 0.5.2
  • downcast-rs 1.2.0
  • glob 0.3.1
  • hashbrown 0.12.3
  • hermit-abi 0.1.19
  • indexmap 1.9.3
  • itoa 1.0.9
  • libc 0.2.148
  • libloading 0.8.1
  • log 0.4.20
  • memchr 2.6.4
  • memoffset 0.7.1
  • nix 0.26.4
  • os_str_bytes 6.5.1
  • pkg-config 0.3.27
  • proc-macro2 1.0.67
  • quick-xml 0.30.0
  • quote 1.0.33
  • regex 1.9.6
  • regex-automata 0.3.9
  • regex-syntax 0.7.5
  • ryu 1.0.15
  • scoped-tls 1.0.1
  • serde 1.0.188
  • serde_derive 1.0.188
  • serde_json 1.0.107
  • smallvec 1.11.1
  • strsim 0.10.0
  • syn 2.0.37
  • termcolor 1.3.0
  • textwrap 0.16.0
  • unicode-ident 1.0.12
  • wayland-backend 0.3.2
  • wayland-client 0.31.1
  • wayland-protocols 0.31.0
  • wayland-protocols-wlr 0.2.0
  • wayland-scanner 0.31.0
  • wayland-sys 0.31.1
  • winapi 0.3.9
  • winapi-i686-pc-windows-gnu 0.4.0
  • winapi-util 0.1.6
  • winapi-x86_64-pc-windows-gnu 0.4.0
  • windows-sys 0.48.0
  • windows-targets 0.48.5
  • windows_aarch64_gnullvm 0.48.5
  • windows_aarch64_msvc 0.48.5
  • windows_i686_gnu 0.48.5
  • windows_i686_msvc 0.48.5
  • windows_x86_64_gnu 0.48.5
  • windows_x86_64_gnullvm 0.48.5
  • windows_x86_64_msvc 0.48.5
Cargo.toml cargo