Skip to content
 
 

Repository files navigation

YMouseButtonControl

This is an attempt at a cross-platform clone of X-Mouse-Button-Control.

YMouseButtonControl 0 22 0

Usage

  1. Download the latest release from the Releases page for your platform
    • Alternatively, download the latest build from the Actions tab
  2. Extract the archive
  3. Run YMouseButtonControl

Language

YMouseButtonControl is localized into English, Russian, German, Spanish, French, Ukrainian, Portuguese (Brazil) and Simplified Chinese. By default it follows your operating system's UI language; you can override it in Settings → Language. Changing the language requires a restart (like the theme setting).

Requirements

  • .NET 8.0 Runtime
    • On windows if you run YMouseButtonControl.exe, it will take you to the download automatically
    • Self-contained release archives bundle the runtime, so nothing extra is required for those

Linux

Ubuntu: sudo apt install dotnet-runtime-8.0

Fedora: sudo dnf install dotnet-runtime-8.0

Arch: sudo pacman -S dotnet-runtime

OS Compatibility

Anything that can install .NET 8 should be able to run YMouseButtonControl

.NET 8 Supported OS

Operating System Version
Windows 10 1607+
Windows 11 22000+
Ubuntu 20.04+
macOS 12.0+

Linux X11 vs. Wayland Considerations

Linux Issues

Build

Requirements

Build Commands

  1. git clone https://github.com/FaithBeam/YMouseButtonControl
  2. cd YMouseButtonControl
  3. dotnet publish YMouseButtonControl/YMouseButtonControl.csproj \
        -c Release \
        -r YOUR_PLATFORM \
        -o bin \
        --self-contained true \
        /p:PublishSingleFile=true \
        /p:IncludeNativeLibrariesForSelfExtract=true \
        /p:EnableCompressionInSingleFile=true
    
    
  4. YMouseButtonControl executable is located in bin folder

Helper script

scripts/build-release.sh builds self-contained, single-file releases and strips files that aren't needed to run (debug symbols, LICENSE):

scripts/build-release.sh                 # win-x64, linux-x64, osx-x64
scripts/build-release.sh linux-x64       # a single runtime
scripts/build-release.sh win-x64 osx-arm64

Output goes to bin/publish-<rid>/. Each folder contains the executable plus appsettings.json (required at startup); the macOS build additionally ships the native .dylib files it needs.

Troubleshooting

Having a problem (profiles not saving, Wayland limitations, per-app profiles, more than 5 buttons)? See docs/TROUBLESHOOTING.md.

Contributing

See CONTRIBUTING.md for build/test instructions and docs/ARCHITECTURE.md for a tour of the codebase.

About

X-Mouse Button Control clone

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages