bixat_key_mouse 0.0.2 copy "bixat_key_mouse: ^0.0.2" to clipboard
bixat_key_mouse: ^0.0.2 copied to clipboard

This package allows users to control mouse and keyboard on desktop platforms.

Bixat Key Mouse #

A powerful Dart package for simulating keyboard and mouse input, designed to enhance automation and testing capabilities in Flutter applications.

Features #

  • Move mouse to absolute and relative positions
  • Press and release mouse buttons
  • Enter text programmatically
  • Simulate key presses and releases
  • Support for multiple key modifiers
  • Cross-platform compatibility (Flutter)

Installation #

To use Bixat Key Mouse in your Flutter project, add it to your pubspec.yaml file:

dependencies:
  bixat_key_mouse: ^<latest_version>

Then run flutter pub get to install the package.

Getting Started #

To use Bixat Key Mouse in your Dart code, import the package:

import 'package:bixat_key_mouse/bixat_key_mouse.dart';

Basic Usage #

Here's a simple example demonstrating various functionalities:

import 'package:bixat_key_mouse/bixat_key_mouse.dart';

void main() {
  // Move mouse to absolute position
  BixatKeyMouse.moveMouseAbs(100, 100);

  // Move mouse relative to current position
  BixatKeyMouse.moveMouseRel(50, 50);

  // Press left mouse button
  BixatKeyMouse.pressMouseButton(1);

  // Release left mouse button
  BixatKeyMouse.releaseMouseButton(1);

  // Enter text
  final text = 'Hello, world!';
  BixatKeyMouse.enterText(text);

  // Simulate key press
  final key = KeyModifier.command;
  BixatKeyMouse.simulateKeyPress(key);

  // Release key
  final keyRelease = KeyModifier.capsLock;
  BixatKeyMouse.simulateKeyPress(keyRelease);
}

Available Functions #

Mouse Control #

moveMouseAbs(int x, int y)

Move the mouse cursor to an absolute position on the screen.

BixatKeyMouse.moveMouseAbs(100, 100);

moveMouseRel(int dx, int dy)

Move the mouse cursor relative to its current position.

BixatKeyMouse.moveMouseRel(50, 50);

pressMouseButton(int button)

Press the specified mouse button.

BixatKeyMouse.pressMouseButton(1); // Left mouse button
BixatKeyMouse.pressMouseButton(2); // Middle mouse button
BixatKeyMouse.pressMouseButton(3); // Right mouse button

releaseMouseButton(int button)

Release the specified mouse button.

BixatKeyMouse.releaseMouseButton(1);

Text Input #

enterText(String text)

Enter text programmatically.

final text = 'Hello, world!';
BixatKeyMouse.enterText(text);

Keyboard Simulation #

simulateKeyPress(KeyModifier modifier)

Simulate key press.

final key = KeyModifier.command;
BixatKeyMouse.simulateKeyPress(key);

simulateKeyPress(KeyModifier modifier)

Simulate key release.

final keyRelease = KeyModifier.capsLock;
BixatKeyMouse.simulateKeyPress(keyRelease);

Key Modifier Values #

The package supports various key modifiers. Here's a list of available values:

const KeyModifier {
  command,
  shift,
  control,
  alt,
  capsLock,
  numLock,
  scrollLock,
}

Advanced Usage #

Combining Functions #

You can combine mouse movements and key presses for complex interactions:

BixatKeyMouse.moveMouseAbs(100, 100);
BixatKeyMouse.pressMouseButton(1);
// Perform actions...
BixatKeyMouse.releaseMouseButton(1);

Handling Exceptions #

The package throws exceptions when certain operations fail. It's recommended to handle these exceptions:

try {
  BixatKeyMouse.moveMouseAbs(100, 100);
} catch (e) {
  print('Error moving mouse: $e');
}

Contributing #

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

License #

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

3
likes
0
points
103
downloads

Publisher

verified publisherbixat.dev

Weekly Downloads

This package allows users to control mouse and keyboard on desktop platforms.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

ffi, flutter, path, plugin_platform_interface

More

Packages that depend on bixat_key_mouse

Packages that implement bixat_key_mouse