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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3649b386198a0d454e7b35000eb89c108108b9b57b62a248cdb00c917e13f060
|
|
| MD5 |
bd2b444255cfd80c518d0487439582f7
|
|
| BLAKE2b-256 |
e555cfb68121bf860c782df5582ef9de240dd486d086ec7c7bedc1541880314c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93848da4c0f761461d2b0d402db5ace071b34ca2d42b9474f99411fbe15e3bee
|
|
| MD5 |
d40db781aba6c55f77e6a323de9eda64
|
|
| BLAKE2b-256 |
216499ab50990d89b577348e3409850a0950190ebcb308eb01d3ec28759d5fbf
|