Skip to content

Releases: KyleDerZweite/process-key-sender

v0.2.1

16 Apr 09:06

Choose a tag to compare

What's Changed

  • ci: bump actions/cache from 3 to 4 by @dependabot[bot] in #1
  • Feature/global hotkey pause by @KyleDerZweite in #4
  • deps(deps): update sysinfo requirement from 0.30 to 0.36 by @dependabot[bot] in #7
  • deps(deps): update colored requirement from 2.0 to 3.0 in the rust-ecosystem group by @dependabot[bot] in #6
  • ci: bump actions/checkout from 4 to 5 by @dependabot[bot] in #9
  • deps(deps): update sysinfo requirement from 0.36 to 0.37 by @dependabot[bot] in #8
  • deps(deps): update thiserror requirement from 1.0 to 2.0 by @dependabot[bot] in #10
  • deps(deps): update sysinfo requirement from 0.37 to 0.38 by @dependabot[bot] in #11

New Contributors

Full Changelog: v0.1.1...v0.2.1

Release version 0.1.1 - Fix config parsing issue

29 May 11:43

Choose a tag to compare

🎯 What This Fixes
✅ Configuration parsing now works with "1000ms" format
✅ Supports multiple formats: "1000ms", "5s", "2m", "1000"
✅ Backward compatible with numeric-only values
✅ Better error messages if duration parsing fails
✅ Type safety maintained with proper Duration usage

Process Key Sender v0.1.0 - Initial Release 🚀

29 May 10:46

Choose a tag to compare

🎉 Process Key Sender v0.1.0 - Initial Release

Welcome to the first official release of Process Key Sender - a powerful, cross-platform tool for automating keystrokes to specific processes!

⚠️ IMPORTANT: Ethical Usage Only

This tool is designed for offline/single-player games, accessibility, and productivity automation ONLY.

DO NOT use with:

  • Online multiplayer games
  • Games with anti-cheat systems
  • Any software where automation violates Terms of Service

Use responsibly and at your own risk!

🌟 What's New in v0.1.0

Core Features

  • 🎯 Process Targeting: Automatically find and send keys to specific processes
  • ⌨️ Multiple Key Modes: Single keys, sequences, or independent timers
  • 📁 Configuration Files: Save and load settings with JSON
  • 🎨 Beautiful CLI: Colored output with comprehensive help
  • 🔄 Smart Looping: Configurable repeat counts and infinite loops
  • ⏸️ Pause/Resume: Global hotkey support (planned)

🎮 Key Modes

  1. Single Key: Send one key at regular intervals
  2. Sequential Mode: Send keys in order with custom delays
  3. Independent Mode: Multiple keys on separate timers simultaneously

💻 Supported Platforms

  • Windows 10/11 (Full support)
  • 🚧 Linux (Planned for v0.2.0)
  • 🚧 macOS (Planned for future release)

📥 Download & Installation

Windows Users

  1. Download pks-v0.1.0-windows.zip
  2. Extract to a folder (e.g., C:\tools\pks\)
  3. Add folder to your PATH (optional)
  4. Run from Command Prompt or PowerShell

From Source

git clone https://github.com/KyleDerZweite/process-key-sender.git
cd process-key-sender
cargo build --release

🚀 Quick Start

Basic Usage

# Send 'R' key every 1000ms to game.exe
pks --process "game.exe" --key "r" --interval 1000

# Use configuration file
pks --config my-config.json

# Independent keys (R every 1s, A every 5s)
pks --process "game.exe" --independent-keys "r:1000;a:5000"

Example Configuration

Create config.json:

{
  "process_name": "Revolution Idle.exe",
  "independent_keys": [
    {"key": "r", "interval": "1000ms"},
    {"key": "a", "interval": "5000ms"}
  ],
  "verbose": true,
  "pause_hotkey": "ctrl+alt+r"
}

📋 Full Command Reference

Usage: pks [OPTIONS]

Options:
  -p, --process <PROCESS>           Target process name
  -k, --key <KEY>                   Single key to send [default: r]
  -i, --interval <INTERVAL>         Interval in milliseconds [default: 1000]
  -s, --sequence <SEQUENCE>         Key sequence: "r:1000,space:500,e:2000"
      --independent-keys <KEYS>     Independent keys: "r:1000;a:5000"
  -c, --config <CONFIG>             Load configuration file
      --save-config <FILE>          Save current config to file
  -v, --verbose                     Enable verbose output
  -h, --help                        Print help
  -V, --version                     Print version

🎯 Use Cases

Recommended Uses

  • 🎮 Offline gaming automation (idle games, farming simulators)
  • Accessibility tools for users with limited mobility
  • 💻 Development testing (automated input testing)
  • 📝 Productivity automation (repetitive tasks)
  • 🎓 Educational projects and learning automation

Prohibited Uses

  • 🚫 Online multiplayer games
  • 🚫 Competitive gaming advantages
  • 🚫 Anti-cheat system circumvention
  • 🚫 Terms of Service violations

🔧 Technical Details

  • Language: Rust 🦀 (2024 edition)
  • Async Runtime: Tokio
  • CLI Framework: Clap v4
  • Platform APIs: Windows API (winapi), X11 (planned)
  • Configuration: JSON with serde
  • Logging: env_logger with colored output

🐛 Known Issues

  • Linux/X11 support not yet implemented
  • Global hotkeys not yet functional (pause/resume)
  • Some special characters may not work on all systems

🗺️ Roadmap

v0.2.0 (Planned)

  • 🐧 Linux/X11 implementation
  • 🔥 Working global hotkeys
  • 🎲 Randomized intervals
  • 📊 Better error messages

v0.3.0+ (Future)

  • 🍎 macOS support
  • 🎨 GUI version
  • 🎮 Game-specific templates
  • 📱 Mobile companion app

🤝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for guidelines.

Priority Areas

  1. Linux/X11 implementation
  2. Global hotkey system
  3. Additional key types
  4. Documentation improvements

📄 License

This project is licensed under the MIT License - see LICENSE for details.

🙏 Acknowledgments

  • Built with amazing Rust ecosystem crates
  • Inspired by the need for ethical automation tools
  • Community feedback and testing

📞 Support & Community


⚠️ Remember: Use responsibly, respect Terms of Service, and game fairly!

Happy automating! 🚀✨

- KyleDerZweite