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.1.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.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simplejoycon-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 3649b386198a0d454e7b35000eb89c108108b9b57b62a248cdb00c917e13f060
MD5 bd2b444255cfd80c518d0487439582f7
BLAKE2b-256 e555cfb68121bf860c782df5582ef9de240dd486d086ec7c7bedc1541880314c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simplejoycon-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 93848da4c0f761461d2b0d402db5ace071b34ca2d42b9474f99411fbe15e3bee
MD5 d40db781aba6c55f77e6a323de9eda64
BLAKE2b-256 216499ab50990d89b577348e3409850a0950190ebcb308eb01d3ec28759d5fbf

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