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

Uploaded Python 3

File details

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

File metadata

  • Download URL: simplejoycon-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 01acdb2a8fe803a8f990deed0d8e02501e2417457c05631f69cdcebd173b616a
MD5 457b468819247253943e40f7c1dbaf2f
BLAKE2b-256 3fe7dc882df501de6182e2259d41ef34d3d1bc0cd160cedd53d9cd8e105f6eef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simplejoycon-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 260f57a1238e180e05434590175c7c68f7d0fbf9cb00571984b9f63f3f3ee755
MD5 11605e1596c5f33647d1e95390fcbee6
BLAKE2b-256 b778621dd004d77611a48b567c71819e6a09d3ae13e745b06653de4a59e67c83

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