# MouseSim
🎯 **MouseSim**, insan benzeri fare hareketlerini Python ile gerçekleştiren basit ve esnek bir simülasyon kütüphanesidir. Fare hareketlerine rastgelelik (noise), hızlanma/yavaşlama (easing), sapmalar ve tıklama işlevleri ekleyerek doğal görünen etkileşimler sağlar. / It is a simple and flexible simulation library in Python that performs human-like mouse movements. It adds randomness (noise), acceleration/deceleration (easing), deviations, and clicking functions to mouse movements to create natural-looking interactions.
## 🧠 Özellikler / Features
### Türkçe
- Hedefe doğrusal olmayan, insan benzeri fare hareketleri
- Easing (hızlanma ve yavaşlama) efektleri
- Ufak rastgele sapmalar (noise) — *insansı efektler*
- Hem **sol** hem **sağ** tıklama desteği
- Delay (gecikme) kontrolü
- Kütüphane içinde rahat kullanım için nesne yönelimli (OOP) yapı
### English
- Human-like mouse movement toward a target
- Easing effects for acceleration and deceleration
- Subtle randomness (noise) to simulate human error
- Left and right click support
- Control over delay and movement speed
- Object-oriented structure for clean integration
---
## 📦 Kurulum / Installation
> PyPI’ye yüklendiğinde:
```bash
pip install MouseSim
```
---
## 🧪 Kullanım Örnekleri / Usage Examples
```python
from MouseSim import *
import time, random, math
# MouseSim objesini oluşturun / Create a MouseSim instance
ms = MouseSim(noise_range=3, base_delay=0.01)
# 1. Move the cursor / İmleci Hareket Ettirme
# Türkçe: İmleci (500, 300) koordinatlarına yumuşakça taşı
# English: Move the cursor to (500, 300) smoothly
ms.move(500, 300, steps=120)
# 2. Single Click / Tek Tıklama
# Türkçe: Mevcut imleç konumunda sol tıklama yap
# English: Perform a left click at current cursor position
ms.left_click()
# 3. Double Click / Çift Tıklama
# Türkçe: 0.2 saniye aralıkla çift tıklama yap
# English: Perform a double click with 0.2 seconds interval
ms.double_click(interval=0.2)
# 4. Right Click / Sağ Tıklama
# Türkçe: Sağ tıklama yap
# English: Perform a right click
ms.right_click()
# 5. Middle Click / Orta Tıklama
# Türkçe: Orta (tekerlek) tıklaması yap
# English: Perform a middle (wheel) click
ms.middle_click()
# 6. Click and Hold / Tıklayıp Basılı Tutma
# Türkçe: Sol fare tuşuna basılı tut
# English: Press and hold the left mouse button
ms.left_click_and_hold()
# English: Release the left mouse button
# Türkçe: Sol fare tuşunu bırak
ms.left_release_click()
# 7. Scroll / Kaydırma
# Türkçe: Kaydırma yap, pozitif yukarı, negatif aşağı
# English: Scroll up or down, positive for up, negative for down
ms.scroll(amount=120) # Scroll up
ms.scroll(amount=-120) # Scroll down
# 8. Drag and Drop / Sürükle ve Bırak
# Türkçe: (100, 200) noktasından (400, 500) noktasına sürükle ve bırak
# English: Drag from (100, 200) to (400, 500)
ms.drag_and_drop(100, 200, 400, 500, steps=150)
```
---
## 📚 Parametreler Açıklaması / Parameters Explained
### `duration: float`
- Fare hareketinin kaç saniyede tamamlanacağını belirler.
- Varsayılan: `1.0` saniye
### `noise_range: int`
- Her adımda koordinata eklenen rastgele ± değer.
- Örnek: `noise_range=2` ⇒ her adımda `-2` ile `+2` arasında sapma olur.
- İnsan elinin hassasiyetini taklit eder.
### `easing: bool`
- True olarak ayarlanırsa fare hareketi başta yavaş, ortada hızlı, sonda tekrar yavaş olur.
- Daha doğal bir hareket görünümü sağlar.
---
## 🖱️ "Notch" nedir?
**Notch**, fare hareketinde kullanılan küçük adımlardır. Örneğin:
- 1 "notch" = 1 piksel'lik hareket anlamına gelir.
- Kod içinde, fare her "notch"’ta bir konum değiştirir.
- Çok küçük değerler fareyi yavaş ve hassas, büyük değerler hızlı yapar.
---
## 📄 Lisans / License
MIT License. Tüm hakları saklıdır.
---
## 🧑💻 Geliştirici / Developer
**Kemal Sayıt**
📍 Türkiye
🔗 [https://www.linkedin.com/in/kemal-sayit/]
---
## 🇹🇷 Açıklama Notu
Bu kütüphane, bot programlamaları, otomasyon testlerindeki robot tespitini zorlaştırmak ve masaüstü etkileşimleri için kullanılabilir. Lütfen etik dışı alanlarda kullanmaktan kaçının.
---
## 🇬🇧 Disclaimer
This library can be used for bot programming, making automation tests harder to detect as robots, and for desktop interaction simulations. Please avoid using it in unethical contexts.
Raw data
{
"_id": null,
"home_page": "https://github.com/Leo4Bey/MouseSim",
"name": "MouseSim",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "mouse movement, human-like mouse, mouse simulation, mouse automation, python mouse control, randomized movement, easing functions, natural interaction, ui automation, desktop automation, pyautogui, automation tools, mouse mover, mouse path simulator, anti bot detection, bot evasion, robot detection, realistic mouse, gui testing, mouse click automation",
"author": "Kemal Say\u0131t",
"author_email": "kemalsayit01@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/34/a5/d4b84fbd35fa62c033048f987f1051589af5bab0a6012982987179f8de62/mousesim-1.0.0.tar.gz",
"platform": null,
"description": "# MouseSim\r\n\r\n\ud83c\udfaf **MouseSim**, insan benzeri fare hareketlerini Python ile ger\u00e7ekle\u015ftiren basit ve esnek bir sim\u00fclasyon k\u00fct\u00fcphanesidir. Fare hareketlerine rastgelelik (noise), h\u0131zlanma/yava\u015flama (easing), sapmalar ve t\u0131klama i\u015flevleri ekleyerek do\u011fal g\u00f6r\u00fcnen etkile\u015fimler sa\u011flar. / It is a simple and flexible simulation library in Python that performs human-like mouse movements. It adds randomness (noise), acceleration/deceleration (easing), deviations, and clicking functions to mouse movements to create natural-looking interactions.\r\n\r\n## \ud83e\udde0 \u00d6zellikler / Features\r\n\r\n### T\u00fcrk\u00e7e\r\n\r\n- Hedefe do\u011frusal olmayan, insan benzeri fare hareketleri\r\n- Easing (h\u0131zlanma ve yava\u015flama) efektleri\r\n- Ufak rastgele sapmalar (noise) \u2014 *insans\u0131 efektler*\r\n- Hem **sol** hem **sa\u011f** t\u0131klama deste\u011fi\r\n- Delay (gecikme) kontrol\u00fc\r\n- K\u00fct\u00fcphane i\u00e7inde rahat kullan\u0131m i\u00e7in nesne y\u00f6nelimli (OOP) yap\u0131\r\n\r\n### English\r\n\r\n- Human-like mouse movement toward a target\r\n- Easing effects for acceleration and deceleration\r\n- Subtle randomness (noise) to simulate human error\r\n- Left and right click support\r\n- Control over delay and movement speed\r\n- Object-oriented structure for clean integration\r\n\r\n---\r\n\r\n## \ud83d\udce6 Kurulum / Installation\r\n\r\n> PyPI\u2019ye y\u00fcklendi\u011finde: \r\n```bash\r\npip install MouseSim\r\n```\r\n\r\n\r\n---\r\n\r\n## \ud83e\uddea Kullan\u0131m \u00d6rnekleri / Usage Examples\r\n\r\n```python\r\nfrom MouseSim import *\r\nimport time, random, math\r\n\r\n# MouseSim objesini olu\u015fturun / Create a MouseSim instance\r\nms = MouseSim(noise_range=3, base_delay=0.01)\r\n\r\n# 1. Move the cursor / \u0130mleci Hareket Ettirme\r\n# T\u00fcrk\u00e7e: \u0130mleci (500, 300) koordinatlar\u0131na yumu\u015fak\u00e7a ta\u015f\u0131\r\n# English: Move the cursor to (500, 300) smoothly\r\nms.move(500, 300, steps=120)\r\n\r\n# 2. Single Click / Tek T\u0131klama\r\n# T\u00fcrk\u00e7e: Mevcut imle\u00e7 konumunda sol t\u0131klama yap\r\n# English: Perform a left click at current cursor position\r\nms.left_click()\r\n\r\n# 3. Double Click / \u00c7ift T\u0131klama\r\n# T\u00fcrk\u00e7e: 0.2 saniye aral\u0131kla \u00e7ift t\u0131klama yap\r\n# English: Perform a double click with 0.2 seconds interval\r\nms.double_click(interval=0.2)\r\n\r\n# 4. Right Click / Sa\u011f T\u0131klama\r\n# T\u00fcrk\u00e7e: Sa\u011f t\u0131klama yap\r\n# English: Perform a right click\r\nms.right_click()\r\n\r\n# 5. Middle Click / Orta T\u0131klama\r\n# T\u00fcrk\u00e7e: Orta (tekerlek) t\u0131klamas\u0131 yap\r\n# English: Perform a middle (wheel) click\r\nms.middle_click()\r\n\r\n# 6. Click and Hold / T\u0131klay\u0131p Bas\u0131l\u0131 Tutma\r\n# T\u00fcrk\u00e7e: Sol fare tu\u015funa bas\u0131l\u0131 tut\r\n# English: Press and hold the left mouse button\r\nms.left_click_and_hold()\r\n# English: Release the left mouse button\r\n# T\u00fcrk\u00e7e: Sol fare tu\u015funu b\u0131rak\r\nms.left_release_click()\r\n\r\n# 7. Scroll / Kayd\u0131rma\r\n# T\u00fcrk\u00e7e: Kayd\u0131rma yap, pozitif yukar\u0131, negatif a\u015fa\u011f\u0131\r\n# English: Scroll up or down, positive for up, negative for down\r\nms.scroll(amount=120) # Scroll up\r\nms.scroll(amount=-120) # Scroll down\r\n\r\n# 8. Drag and Drop / S\u00fcr\u00fckle ve B\u0131rak\r\n# T\u00fcrk\u00e7e: (100, 200) noktas\u0131ndan (400, 500) noktas\u0131na s\u00fcr\u00fckle ve b\u0131rak\r\n# English: Drag from (100, 200) to (400, 500)\r\nms.drag_and_drop(100, 200, 400, 500, steps=150)\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udcda Parametreler A\u00e7\u0131klamas\u0131 / Parameters Explained\r\n\r\n### `duration: float`\r\n- Fare hareketinin ka\u00e7 saniyede tamamlanaca\u011f\u0131n\u0131 belirler.\r\n- Varsay\u0131lan: `1.0` saniye\r\n\r\n### `noise_range: int`\r\n- Her ad\u0131mda koordinata eklenen rastgele \u00b1 de\u011fer.\r\n- \u00d6rnek: `noise_range=2` \u21d2 her ad\u0131mda `-2` ile `+2` aras\u0131nda sapma olur.\r\n- \u0130nsan elinin hassasiyetini taklit eder.\r\n\r\n### `easing: bool`\r\n- True olarak ayarlan\u0131rsa fare hareketi ba\u015fta yava\u015f, ortada h\u0131zl\u0131, sonda tekrar yava\u015f olur.\r\n- Daha do\u011fal bir hareket g\u00f6r\u00fcn\u00fcm\u00fc sa\u011flar.\r\n\r\n---\r\n\r\n## \ud83d\uddb1\ufe0f \"Notch\" nedir?\r\n\r\n**Notch**, fare hareketinde kullan\u0131lan k\u00fc\u00e7\u00fck ad\u0131mlard\u0131r. \u00d6rne\u011fin:\r\n- 1 \"notch\" = 1 piksel'lik hareket anlam\u0131na gelir.\r\n- Kod i\u00e7inde, fare her \"notch\"\u2019ta bir konum de\u011fi\u015ftirir.\r\n- \u00c7ok k\u00fc\u00e7\u00fck de\u011ferler fareyi yava\u015f ve hassas, b\u00fcy\u00fck de\u011ferler h\u0131zl\u0131 yapar.\r\n\r\n---\r\n\r\n## \ud83d\udcc4 Lisans / License\r\n\r\nMIT License. T\u00fcm haklar\u0131 sakl\u0131d\u0131r.\r\n\r\n---\r\n\r\n## \ud83e\uddd1\u200d\ud83d\udcbb Geli\u015ftirici / Developer\r\n\r\n**Kemal Say\u0131t** \r\n\ud83d\udccd T\u00fcrkiye \r\n\ud83d\udd17 [https://www.linkedin.com/in/kemal-sayit/]\r\n\r\n---\r\n\r\n## \ud83c\uddf9\ud83c\uddf7 A\u00e7\u0131klama Notu\r\n\r\nBu k\u00fct\u00fcphane, bot programlamalar\u0131, otomasyon testlerindeki robot tespitini zorla\u015ft\u0131rmak ve masa\u00fcst\u00fc etkile\u015fimleri i\u00e7in kullan\u0131labilir. L\u00fctfen etik d\u0131\u015f\u0131 alanlarda kullanmaktan ka\u00e7\u0131n\u0131n.\r\n\r\n---\r\n\r\n## \ud83c\uddec\ud83c\udde7 Disclaimer\r\n\r\nThis library can be used for bot programming, making automation tests harder to detect as robots, and for desktop interaction simulations. Please avoid using it in unethical contexts.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "It is a simple and flexible simulation library in Python that performs human-like mouse movements.",
"version": "1.0.0",
"project_urls": {
"Bug Tracker": "https://github.com/Leo4Bey/MouseSim/issues",
"Homepage": "https://github.com/Leo4Bey/MouseSim",
"Source": "https://github.com/Leo4Bey/MouseSim"
},
"split_keywords": [
"mouse movement",
" human-like mouse",
" mouse simulation",
" mouse automation",
" python mouse control",
" randomized movement",
" easing functions",
" natural interaction",
" ui automation",
" desktop automation",
" pyautogui",
" automation tools",
" mouse mover",
" mouse path simulator",
" anti bot detection",
" bot evasion",
" robot detection",
" realistic mouse",
" gui testing",
" mouse click automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9fb263c6a6ce428585384899ced7b42acbd52e14bc65e73027e5027ca909f108",
"md5": "82e28e57e0e8b6460c1db2f1412aadc5",
"sha256": "1d57fcdb7de1389ded7991ae181543c76b3551b7f400de749bc58c9c8e7d5e70"
},
"downloads": -1,
"filename": "mousesim-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "82e28e57e0e8b6460c1db2f1412aadc5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 5388,
"upload_time": "2025-07-18T13:46:33",
"upload_time_iso_8601": "2025-07-18T13:46:33.569888Z",
"url": "https://files.pythonhosted.org/packages/9f/b2/63c6a6ce428585384899ced7b42acbd52e14bc65e73027e5027ca909f108/mousesim-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "34a5d4b84fbd35fa62c033048f987f1051589af5bab0a6012982987179f8de62",
"md5": "c6135dbe1acac274e5e029befec3ff87",
"sha256": "4db78854e7c88affe840e396fd9a67dcd64407df14b33b312f79f8fde3d4276d"
},
"downloads": -1,
"filename": "mousesim-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "c6135dbe1acac274e5e029befec3ff87",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 5365,
"upload_time": "2025-07-18T13:46:35",
"upload_time_iso_8601": "2025-07-18T13:46:35.707165Z",
"url": "https://files.pythonhosted.org/packages/34/a5/d4b84fbd35fa62c033048f987f1051589af5bab0a6012982987179f8de62/mousesim-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-18 13:46:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Leo4Bey",
"github_project": "MouseSim",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mousesim"
}