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.
@@ -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
- def __init__(self):
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()
@@ -3,7 +3,7 @@ import time
3
3
  from .componentes import ContenedorBotonesR, Palanca, Bateria, SensorMovimiento, Boton
4
4
 
5
5
  class JoyconR:
6
- def __init__(self):
6
+ def __init__(self):
7
7
  self.packet_counter = 0
8
8
  self.botones = ContenedorBotonesR()
9
9
  self.palanca = Palanca()
@@ -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.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
- author="Instituto Internacional de Cosas Que Se Salieron de Control (Emicicx)",
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",
@@ -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