Metadata-Version: 2.4
Name: SimpleJoyCon
Version: 1.0.1
Summary: Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python
Author: EVOLVE
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: hidapi
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# SimpleJoyCon 🕹️🚀

Una librería de Python de bajo nivel, ultra simplificada, estética y **sin comillas** para conectar y exprimir al máximo el hardware de tus Nintendo Joy-Cons mediante Bluetooth nativo. 

A diferencia de otras opciones confusas, `SimpleJoyCon` maneja los hilos y decodificaciones internamente, ofreciendo una sintaxis de grado profesional orientada a objetos accesibles mediante atributos con puntos.

## ✨ Características Principales
* **Cero Comillas:** Olvídate de los diccionarios viejos. Accede a los componentes de forma estética (`joy.botones.A`, `joy.palanca.direccion`).
* **Conexión Automática Inteligente:** Si el control está apagado, la librería se queda esperando pacientemente y lo detecta en cuanto presionas un botón, sin tirar errores.
* **Modo Terremoto Desbloqueado:** Control de vibración masiva mediante inyección directa a frecuencias de resonancia física continua (`joy.vibracion(1.0)`).
* **Cronómetros de Pulsación:** Rastreo automático de tiempo milimétrico en milisegundos reales por botón (`joy.botones.A.ms`).
* **Contador de Clicks:** Registra de forma nativa dobles o triples clics rápidos (`joy.botones.A.clicks == 2`).
* **Modo Raw de Fábrica:** Consulta los valores numéricos directos de los potenciómetros (`joy.palanca.raw`) y sensores sin procesar.
* **Sensores de Movimiento 3D:** Acceso limpio a los 6 ejes espaciales del Giroscopio y Acelerómetro.

---

## 🛠️ Instalación
Asegúrate de vincular tus Joy-Cons por Bluetooth en la configuración de tu sistema operativo y luego instala la librería mediante pip:

```bash
pip install SimpleJoyCon
```

---

## 🚀 Ejemplo de Uso (Dúo L / R)
Mira la limpieza visual y estética que tiene tu código al usar esta librería:

```python
from SimpleJoyCon import L, R
import time

# Inicializar mandos (Iniciarán en bucle de auto-espera si están apagados)
joy_derecho = R()
joy_izquierdo = L()

try:
    while True:
        # Refrescar buffers de hardware
        joy_derecho.actualizar()
        joy_izquierdo.actualizar()
        
        # Telemetría básica sin comillas y Modo Raw de porcentaje
        print(f"Batería R: {joy_derecho.bateria.raw}% | Palanca R: {joy_derecho.palanca.direccion}", end="\r")
        
        # 1. Tu sintaxis limpia ideal: el botón evalúa directo como Booleano
        if joy_derecho.botones.A:
            print(f"\n[BOTÓN A] Hundido por {joy_derecho.botones.A.ms} ms")
            
            # Detectar Doble Click nativo
            if joy_derecho.botones.A.clicks == 2:
                print("¡Doble click registrado!")
            
            # Si pasa de un segundo, ¡desata el Terremoto continuo!
            if joy_derecho.botones.A.ms > 1000:
                joy_derecho.vibracion(1.0)
        else:
            joy_derecho.vibracion(0.0)
            
        # 2. Leer Giroscopio tridimensional del mando izquierdo de forma fluida
        if abs(joy_izquierdo.giroscopio.x) > 40.0:
            print(f"\nRotación L en X: {joy_izquierdo.giroscopio.x}°/s")
            
        # Salida limpia
        if joy_derecho.botones.Home or joy_izquierdo.botones.Capture:
            break
            
        time.sleep(0.002)

finally:
    joy_derecho.cerrar()
    joy_izquierdo.cerrar()
```

## 📜 Licencia
Este proyecto está bajo la licencia MIT. ¡Siéntete libre de expandirlo y usarlo en tus proyectos de emulación, robótica o videojuegos!
