Skip to main content

Professional macro recorder and automation tool for Windows

Project description

BEBE Task Recorder

Python Platform License

A powerful, user-friendly macro recorder and automation tool for Windows

Record mouse movements, clicks, keyboard input, and key combinations with precision. Playback your recorded tasks with customizable speed.

FeaturesInstallationUsageBuildingContributing


🎯 Overview

BEBE Task Recorder is a professional-grade macro recording and playback application designed for Windows. Unlike basic macro tools like TinyTask, BEBE offers:

BEBE Task Recorder Screenshot

BEBE Task Recorder - Professional GUI Interface

  • Full GUI interface with real-time event monitoring
  • Advanced key combination support (Ctrl+A, Alt+F4, Ctrl+Shift+B, etc.)
  • Precise mouse tracking (movements, clicks, scrolls)
  • Task management (save, load, organize your macros)
  • Detailed logging (human-readable event logs)
  • Administrator privilege handling (automatic UAC elevation)
  • Executable build (standalone .exe with admin rights)

Perfect for automating repetitive tasks, testing workflows, or creating complex automation sequences.


✨ Features

Recording Capabilities

  • Mouse Events: Track all mouse movements, clicks (left/right/middle), and scroll actions
  • Keyboard Input: Record individual keys, characters, and special keys (Enter, Tab, F1-F12, Arrow keys, etc.)
  • Key Combinations: Properly handles Ctrl, Alt, Shift combinations:
    • Ctrl+A (Select All)
    • Ctrl+Shift+A (Complex combinations)
    • Alt+F4 (Close window)
    • Ctrl+C, Ctrl+V (Copy/Paste)
    • And many more...

Playback Features

  • Precise Timing: Maintains original timing between events
  • Adjustable Speed: Customizable playback speed (default optimized)
  • Error Handling: Robust error handling during playback

User Interface

  • Real-time Monitoring: See events as they're recorded in a detailed table
  • Task Management: Save and load tasks with descriptive names
  • Quick Load: Dropdown list of saved tasks for easy access
  • Resizable Window: Adjust interface to your preference
  • Event Details: View timestamp, event type, and detailed information

Technical Features

  • Administrator Mode: Automatically requests admin privileges for global event capture
  • Thread-safe GUI: Smooth UI updates during recording/playback
  • JSON Storage: Human-readable task files
  • Log Files: Detailed .log files alongside .json task files

📋 Requirements

  • Operating System: Windows 7/8/10/11
  • Python: 3.7 or higher (if running from source)
  • Dependencies:
    • pyautogui - GUI automation
    • pynput - Mouse and keyboard event capture
    • tkinter - GUI framework (usually included with Python)

🚀 Installation

Option 1: Using Pre-built Executable (Recommended)

  1. Download BEBE_Task_Recorder.exe from the Releases page
  2. Run the executable (it will automatically request administrator privileges)
  3. Start recording!

Option 2: Running from Source

  1. Clone the repository:

    git clone https://github.com/me-suzy/BEBE-Task-Recorder.git
    cd BEBE-Task-Recorder
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the application:

    python bebe_gui.py
    

    Note: On Windows, run with administrator privileges for global event capture:

    # Right-click PowerShell/CMD and select "Run as Administrator", then:
    python bebe_gui.py
    

    Or use the provided batch script:

    RUN_GUI.bat
    

📖 Usage

Basic Workflow

  1. Start Recording:

    • Click "Start Inregistrare"
    • Perform your actions (mouse movements, clicks, keyboard input)
    • Press ESC or F9 to stop recording
  2. Review Events:

    • View all recorded events in the "Evenimente (optimizate cu context)" table
    • Check timestamps and event details
  3. Save Task:

    • Click "Salveaza task"
    • Enter a descriptive name
    • Task is saved in the tasks/ folder
  4. Load Task:

    • Select from dropdown list, or
    • Click "Incarca din fisier..." to browse
    • Click "Incarca task selectat" to load
  5. Playback:

    • Click "Start Redare"
    • Watch your recorded actions replay automatically

Recording Tips

  • Position Matters: The recorder captures absolute screen coordinates. If you move windows or icons before playback, positions may not match. This is expected behavior for precise automation.

  • Key Combinations: All standard Windows shortcuts work:

    • Ctrl+A, Ctrl+C, Ctrl+V (Select All, Copy, Paste)
    • Alt+Tab (Switch windows)
    • Alt+F4 (Close window)
    • Ctrl+Shift+Esc (Task Manager)
    • And more...
  • Stop Recording: Press ESC or F9 at any time to stop recording

File Structure

BEBE/
├── bebe_gui.py              # Main application
├── tasks/                   # Saved task files
│   ├── task1.json          # Task data (JSON)
│   └── task1.log            # Human-readable log
├── requirements.txt         # Python dependencies
├── BUILD.bat                # Build executable script
└── README.md               # This file

🔨 Building Executable

To create a standalone .exe file with automatic administrator privileges:

  1. Install build dependencies:

    pip install -r requirements_build.txt
    
  2. Run build script:

    BUILD.bat
    
  3. Find executable:

    • Output: dist/BEBE_Task_Recorder.exe
    • The executable automatically requests admin privileges on launch

Build Requirements

  • pyinstaller - For creating executables
  • pyautogui, pynput - Runtime dependencies

🎨 Screenshots

BEBE Task Recorder Interface

Main interface showing real-time event monitoring, task management, and playback controls


🔧 Technical Details

Architecture

  • GUI Framework: Tkinter (native Python GUI)
  • Event Capture: pynput library for global mouse/keyboard hooks
  • Automation: pyautogui for precise mouse/keyboard control
  • Storage: JSON format for task files
  • Threading: Separate threads for recording/playback to keep GUI responsive

Key Features Implementation

  • Key Combination Detection: Properly handles control characters (e.g., \x01 = Ctrl+A)
  • Modifier Tracking: Maintains state of Ctrl/Alt/Shift keys during recording
  • Event Serialization: Efficient JSON storage with timestamps
  • Admin Privileges: Windows UAC manifest embedded in executable

⚠️ Important Notes

Administrator Privileges

Why admin rights are needed: Global keyboard and mouse hooks require elevated privileges on Windows. Without admin rights, the application can only capture events from its own window.

Security: The application only requests admin rights for event capture. It does not modify system files or settings.

Position-Based Recording

Important: BEBE records absolute screen coordinates. This means:

  • ✅ Perfect for fixed workflows (same window positions)
  • ⚠️ If you move windows/icons before playback, coordinates won't match
  • 💡 Tip: Keep your desktop layout consistent, or use relative positioning for future versions

This is intentional design for precise automation - similar to professional macro tools.


🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Development Setup

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

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


🙏 Acknowledgments

  • Built with Python and open-source libraries
  • Inspired by the need for better macro recording tools
  • Thanks to all contributors and users

📧 Support


🚀 Roadmap

  • Relative positioning mode (for flexible window positions)
  • Variable speed playback controls
  • Task scheduling (run at specific times)
  • Multiple task chaining
  • Export/Import task collections
  • Cross-platform support (Linux, macOS)

Made with ❤️ for automation enthusiasts

⭐ Star this repo if you find it useful!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bebe_task_recorder-1.0.0.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bebe_task_recorder-1.0.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file bebe_task_recorder-1.0.0.tar.gz.

File metadata

  • Download URL: bebe_task_recorder-1.0.0.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for bebe_task_recorder-1.0.0.tar.gz
Algorithm Hash digest
SHA256 29853be3c936f6c63a20fa37cb7993df50bb977e30279af98de339d751abcafa
MD5 1fcb9c5673331097a29606c561cf7273
BLAKE2b-256 55764348631b772211a1dc54e0369ca4666be5af9f85e8e4f790355950ea6e5d

See more details on using hashes here.

File details

Details for the file bebe_task_recorder-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bebe_task_recorder-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1d72b866663280c5692ef7cef03ee6f7951c32a97bc2b6dbec2ab1bd0d1b027f
MD5 d70c72faa78d8d6b0bafc723314b37b6
BLAKE2b-256 774b5813b47dbf30313313c1bf12d577e920dd474a3b6cf940ec173f13edb2c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page