Skip to main content

Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python

Project description

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:

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:

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!

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

simplejoycon-1.0.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

simplejoycon-1.0.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file simplejoycon-1.0.2.tar.gz.

File metadata

  • Download URL: simplejoycon-1.0.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for simplejoycon-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4ed398780e83e00f9b238c1ed640ae1df97fad114d332e8a0bf4d724d1c78b9e
MD5 f3e554432b9aaa0265d469203edb5f95
BLAKE2b-256 39c58297fa2d652f9ee0fe548a533b46af17e84f493df730ae4e09a63e788e53

See more details on using hashes here.

File details

Details for the file simplejoycon-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: simplejoycon-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for simplejoycon-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f3cf7b3b7a89f6c00f59cd5f0f942aee07b2e01a90d3b4bcf39c8997347c2cb
MD5 055d53c005957339a8c2914dca6e597b
BLAKE2b-256 e1160fe9a8a4afe5d2460a3584b78d2b91dc39729051e904453996800cbeb107

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