Releases: KyleDerZweite/process-key-sender
v0.2.1
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
- @dependabot[bot] made their first contribution in #1
- @KyleDerZweite made their first contribution in #4
Full Changelog: v0.1.1...v0.2.1
Release version 0.1.1 - Fix config parsing issue
🎯 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 🚀
🎉 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
- Single Key: Send one key at regular intervals
- Sequential Mode: Send keys in order with custom delays
- 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
- Download
pks-v0.1.0-windows.zip - Extract to a folder (e.g.,
C:\tools\pks\) - Add folder to your PATH (optional)
- 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
- Linux/X11 implementation
- Global hotkey system
- Additional key types
- 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
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📧 Contact: Create an issue for questions
Happy automating! 🚀✨
- KyleDerZweite