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

Uploaded Python 3

File details

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

File metadata

  • Download URL: simplejoycon-1.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 3e760844e248545d86fb9b51ab7e2f0d8607cc3d38f1ad0e7de11882bc3e0de0
MD5 697fe75ce97d6d288559c6d69d5deea7
BLAKE2b-256 03230dc18c63b7ed71669934adea48dfb52860252e3321eb8fc2d40ef02422e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simplejoycon-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 8.0 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 42e7a4e6cf008c4016a29467d3d35e1ef0763bb57354db0a51ee04dfcba1447a
MD5 4f8a6e72b3848bfe3a529fd7bb63467b
BLAKE2b-256 0aac25331534b0081b780962dd981d9b40f5c31644804a7005d87b3556348fb0

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