SimpleJoyCon 1.0.0__tar.gz → 1.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- simplejoycon-1.0.2/PKG-INFO +96 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon/joycon_l.py +2 -2
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon/joycon_r.py +1 -1
- simplejoycon-1.0.2/SimpleJoyCon.egg-info/PKG-INFO +96 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/setup.py +8 -2
- simplejoycon-1.0.0/PKG-INFO +0 -15
- simplejoycon-1.0.0/SimpleJoyCon.egg-info/PKG-INFO +0 -15
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/README.md +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon/__init__.py +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon/componentes.py +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon.egg-info/SOURCES.txt +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon.egg-info/dependency_links.txt +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon.egg-info/requires.txt +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/SimpleJoyCon.egg-info/top_level.txt +0 -0
- {simplejoycon-1.0.0 → simplejoycon-1.0.2}/setup.cfg +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SimpleJoyCon
|
|
3
|
+
Version: 1.0.2
|
|
4
|
+
Summary: Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python
|
|
5
|
+
Author: EVOLVE
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
+
Requires-Python: >=3.7
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: hidapi
|
|
12
|
+
Dynamic: author
|
|
13
|
+
Dynamic: classifier
|
|
14
|
+
Dynamic: description
|
|
15
|
+
Dynamic: description-content-type
|
|
16
|
+
Dynamic: requires-dist
|
|
17
|
+
Dynamic: requires-python
|
|
18
|
+
Dynamic: summary
|
|
19
|
+
|
|
20
|
+
# SimpleJoyCon 🕹️🚀
|
|
21
|
+
|
|
22
|
+
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.
|
|
23
|
+
|
|
24
|
+
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.
|
|
25
|
+
|
|
26
|
+
## ✨ Características Principales
|
|
27
|
+
* **Cero Comillas:** Olvídate de los diccionarios viejos. Accede a los componentes de forma estética (`joy.botones.A`, `joy.palanca.direccion`).
|
|
28
|
+
* **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.
|
|
29
|
+
* **Modo Terremoto Desbloqueado:** Control de vibración masiva mediante inyección directa a frecuencias de resonancia física continua (`joy.vibracion(1.0)`).
|
|
30
|
+
* **Cronómetros de Pulsación:** Rastreo automático de tiempo milimétrico en milisegundos reales por botón (`joy.botones.A.ms`).
|
|
31
|
+
* **Contador de Clicks:** Registra de forma nativa dobles o triples clics rápidos (`joy.botones.A.clicks == 2`).
|
|
32
|
+
* **Modo Raw de Fábrica:** Consulta los valores numéricos directos de los potenciómetros (`joy.palanca.raw`) y sensores sin procesar.
|
|
33
|
+
* **Sensores de Movimiento 3D:** Acceso limpio a los 6 ejes espaciales del Giroscopio y Acelerómetro.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 🛠️ Instalación
|
|
38
|
+
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:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install SimpleJoyCon
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 🚀 Ejemplo de Uso (Dúo L / R)
|
|
47
|
+
Mira la limpieza visual y estética que tiene tu código al usar esta librería:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from SimpleJoyCon import L, R
|
|
51
|
+
import time
|
|
52
|
+
|
|
53
|
+
# Inicializar mandos (Iniciarán en bucle de auto-espera si están apagados)
|
|
54
|
+
joy_derecho = R()
|
|
55
|
+
joy_izquierdo = L()
|
|
56
|
+
|
|
57
|
+
try:
|
|
58
|
+
while True:
|
|
59
|
+
# Refrescar buffers de hardware
|
|
60
|
+
joy_derecho.actualizar()
|
|
61
|
+
joy_izquierdo.actualizar()
|
|
62
|
+
|
|
63
|
+
# Telemetría básica sin comillas y Modo Raw de porcentaje
|
|
64
|
+
print(f"Batería R: {joy_derecho.bateria.raw}% | Palanca R: {joy_derecho.palanca.direccion}", end="\r")
|
|
65
|
+
|
|
66
|
+
# 1. Tu sintaxis limpia ideal: el botón evalúa directo como Booleano
|
|
67
|
+
if joy_derecho.botones.A:
|
|
68
|
+
print(f"\n[BOTÓN A] Hundido por {joy_derecho.botones.A.ms} ms")
|
|
69
|
+
|
|
70
|
+
# Detectar Doble Click nativo
|
|
71
|
+
if joy_derecho.botones.A.clicks == 2:
|
|
72
|
+
print("¡Doble click registrado!")
|
|
73
|
+
|
|
74
|
+
# Si pasa de un segundo, ¡desata el Terremoto continuo!
|
|
75
|
+
if joy_derecho.botones.A.ms > 1000:
|
|
76
|
+
joy_derecho.vibracion(1.0)
|
|
77
|
+
else:
|
|
78
|
+
joy_derecho.vibracion(0.0)
|
|
79
|
+
|
|
80
|
+
# 2. Leer Giroscopio tridimensional del mando izquierdo de forma fluida
|
|
81
|
+
if abs(joy_izquierdo.giroscopio.x) > 40.0:
|
|
82
|
+
print(f"\nRotación L en X: {joy_izquierdo.giroscopio.x}°/s")
|
|
83
|
+
|
|
84
|
+
# Salida limpia
|
|
85
|
+
if joy_derecho.botones.Home or joy_izquierdo.botones.Capture:
|
|
86
|
+
break
|
|
87
|
+
|
|
88
|
+
time.sleep(0.002)
|
|
89
|
+
|
|
90
|
+
finally:
|
|
91
|
+
joy_derecho.cerrar()
|
|
92
|
+
joy_izquierdo.cerrar()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 📜 Licencia
|
|
96
|
+
Este proyecto está bajo la licencia MIT. ¡Siéntete libre de expandirlo y usarlo en tus proyectos de emulación, robótica o videojuegos!
|
|
@@ -3,7 +3,7 @@ import time
|
|
|
3
3
|
from .componentes import ContenedorBotonesL, Palanca, Bateria, SensorMovimiento, Boton
|
|
4
4
|
|
|
5
5
|
class JoyconL:
|
|
6
|
-
|
|
6
|
+
def __init__(self):
|
|
7
7
|
self.packet_counter = 0
|
|
8
8
|
self.botones = ContenedorBotonesL()
|
|
9
9
|
self.palanca = Palanca()
|
|
@@ -133,4 +133,4 @@ class JoyconL:
|
|
|
133
133
|
self.luces(False,False,False,False)
|
|
134
134
|
self._enviar_subcomando(0x40, [0x00])
|
|
135
135
|
for _ in range(5): self.vibracion(0.0)
|
|
136
|
-
self.device.close()
|
|
136
|
+
self.device.close()
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SimpleJoyCon
|
|
3
|
+
Version: 1.0.2
|
|
4
|
+
Summary: Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python
|
|
5
|
+
Author: EVOLVE
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
+
Requires-Python: >=3.7
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: hidapi
|
|
12
|
+
Dynamic: author
|
|
13
|
+
Dynamic: classifier
|
|
14
|
+
Dynamic: description
|
|
15
|
+
Dynamic: description-content-type
|
|
16
|
+
Dynamic: requires-dist
|
|
17
|
+
Dynamic: requires-python
|
|
18
|
+
Dynamic: summary
|
|
19
|
+
|
|
20
|
+
# SimpleJoyCon 🕹️🚀
|
|
21
|
+
|
|
22
|
+
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.
|
|
23
|
+
|
|
24
|
+
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.
|
|
25
|
+
|
|
26
|
+
## ✨ Características Principales
|
|
27
|
+
* **Cero Comillas:** Olvídate de los diccionarios viejos. Accede a los componentes de forma estética (`joy.botones.A`, `joy.palanca.direccion`).
|
|
28
|
+
* **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.
|
|
29
|
+
* **Modo Terremoto Desbloqueado:** Control de vibración masiva mediante inyección directa a frecuencias de resonancia física continua (`joy.vibracion(1.0)`).
|
|
30
|
+
* **Cronómetros de Pulsación:** Rastreo automático de tiempo milimétrico en milisegundos reales por botón (`joy.botones.A.ms`).
|
|
31
|
+
* **Contador de Clicks:** Registra de forma nativa dobles o triples clics rápidos (`joy.botones.A.clicks == 2`).
|
|
32
|
+
* **Modo Raw de Fábrica:** Consulta los valores numéricos directos de los potenciómetros (`joy.palanca.raw`) y sensores sin procesar.
|
|
33
|
+
* **Sensores de Movimiento 3D:** Acceso limpio a los 6 ejes espaciales del Giroscopio y Acelerómetro.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 🛠️ Instalación
|
|
38
|
+
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:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pip install SimpleJoyCon
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 🚀 Ejemplo de Uso (Dúo L / R)
|
|
47
|
+
Mira la limpieza visual y estética que tiene tu código al usar esta librería:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
from SimpleJoyCon import L, R
|
|
51
|
+
import time
|
|
52
|
+
|
|
53
|
+
# Inicializar mandos (Iniciarán en bucle de auto-espera si están apagados)
|
|
54
|
+
joy_derecho = R()
|
|
55
|
+
joy_izquierdo = L()
|
|
56
|
+
|
|
57
|
+
try:
|
|
58
|
+
while True:
|
|
59
|
+
# Refrescar buffers de hardware
|
|
60
|
+
joy_derecho.actualizar()
|
|
61
|
+
joy_izquierdo.actualizar()
|
|
62
|
+
|
|
63
|
+
# Telemetría básica sin comillas y Modo Raw de porcentaje
|
|
64
|
+
print(f"Batería R: {joy_derecho.bateria.raw}% | Palanca R: {joy_derecho.palanca.direccion}", end="\r")
|
|
65
|
+
|
|
66
|
+
# 1. Tu sintaxis limpia ideal: el botón evalúa directo como Booleano
|
|
67
|
+
if joy_derecho.botones.A:
|
|
68
|
+
print(f"\n[BOTÓN A] Hundido por {joy_derecho.botones.A.ms} ms")
|
|
69
|
+
|
|
70
|
+
# Detectar Doble Click nativo
|
|
71
|
+
if joy_derecho.botones.A.clicks == 2:
|
|
72
|
+
print("¡Doble click registrado!")
|
|
73
|
+
|
|
74
|
+
# Si pasa de un segundo, ¡desata el Terremoto continuo!
|
|
75
|
+
if joy_derecho.botones.A.ms > 1000:
|
|
76
|
+
joy_derecho.vibracion(1.0)
|
|
77
|
+
else:
|
|
78
|
+
joy_derecho.vibracion(0.0)
|
|
79
|
+
|
|
80
|
+
# 2. Leer Giroscopio tridimensional del mando izquierdo de forma fluida
|
|
81
|
+
if abs(joy_izquierdo.giroscopio.x) > 40.0:
|
|
82
|
+
print(f"\nRotación L en X: {joy_izquierdo.giroscopio.x}°/s")
|
|
83
|
+
|
|
84
|
+
# Salida limpia
|
|
85
|
+
if joy_derecho.botones.Home or joy_izquierdo.botones.Capture:
|
|
86
|
+
break
|
|
87
|
+
|
|
88
|
+
time.sleep(0.002)
|
|
89
|
+
|
|
90
|
+
finally:
|
|
91
|
+
joy_derecho.cerrar()
|
|
92
|
+
joy_izquierdo.cerrar()
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 📜 Licencia
|
|
96
|
+
Este proyecto está bajo la licencia MIT. ¡Siéntete libre de expandirlo y usarlo en tus proyectos de emulación, robótica o videojuegos!
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
from setuptools import setup, find_packages
|
|
2
2
|
|
|
3
|
+
# Leer el contenido del archivo README de forma automatizada
|
|
4
|
+
with open("README.md", "r", encoding="utf-8") as fh:
|
|
5
|
+
long_description = fh.read()
|
|
6
|
+
|
|
3
7
|
setup(
|
|
4
8
|
name="SimpleJoyCon",
|
|
5
|
-
version="1.0.
|
|
9
|
+
version="1.0.2",
|
|
6
10
|
description="Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python",
|
|
7
|
-
|
|
11
|
+
long_description=long_description, # <--- LE DICE A PYPI QUE USE EL README
|
|
12
|
+
long_description_content_type="text/markdown", # <--- CORRIGE EL FORMATO A MARKDOWN
|
|
13
|
+
author="EVOLVE",
|
|
8
14
|
packages=find_packages(),
|
|
9
15
|
install_requires=[
|
|
10
16
|
"hidapi",
|
simplejoycon-1.0.0/PKG-INFO
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: SimpleJoyCon
|
|
3
|
-
Version: 1.0.0
|
|
4
|
-
Summary: Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python
|
|
5
|
-
Author: Instituto Internacional de Cosas Que Se Salieron de Control (Emicicx)
|
|
6
|
-
Classifier: Programming Language :: Python :: 3
|
|
7
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
-
Requires-Python: >=3.7
|
|
10
|
-
Requires-Dist: hidapi
|
|
11
|
-
Dynamic: author
|
|
12
|
-
Dynamic: classifier
|
|
13
|
-
Dynamic: requires-dist
|
|
14
|
-
Dynamic: requires-python
|
|
15
|
-
Dynamic: summary
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: SimpleJoyCon
|
|
3
|
-
Version: 1.0.0
|
|
4
|
-
Summary: Una libreria de bajo nivel simplificada, estetica y sin comillas para usar Joy-Cons en Python
|
|
5
|
-
Author: Instituto Internacional de Cosas Que Se Salieron de Control (Emicicx)
|
|
6
|
-
Classifier: Programming Language :: Python :: 3
|
|
7
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
8
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
9
|
-
Requires-Python: >=3.7
|
|
10
|
-
Requires-Dist: hidapi
|
|
11
|
-
Dynamic: author
|
|
12
|
-
Dynamic: classifier
|
|
13
|
-
Dynamic: requires-dist
|
|
14
|
-
Dynamic: requires-python
|
|
15
|
-
Dynamic: summary
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|