8BitDo 64 y la vibración/rumble

LLevo un tiempo interesado en el 8BitDo 64 https://www.8bitdo.com/64-controller/ , concretamente la versión BlueTooth y con los colores originales.

Imagen


Encontré una oferta jugosa y estaba a punto de dar el paso y de repente me topo con el decepcionante detalle de que la vibración no funciona mediante D-Input (HID), y supuestamente solo está disponible para Switch 1/2 y para la consola Analogue 3D. Sin embargo yo lo usaría principalmente para emuladores en PC Linux por USB o BlueTooth.

Por una parte tengo la curiosidad de saber por qué no hay vibración por HID, si alguien me lo sabe explicar.

Por otro lado, y mucho mas importante si realmente no hay vibración por HID, me gustaría saber si hay alguna aplicación o driver para Linux (no uso Windows desde hace casi tres años), que me permita acceder al mando mediante el protocolo de Switch, o el protocolo que me permita tener rumble/vibración.

Alguien tiene experiencia usando este mando de ese modo?
@radorn no te puedo hablar de este mando en concreto, pero no seria la primera vez que un mando de 8bitdo tiene modo xinput pero no esta documentado en las instrucciones la combinación de botones necesaria
@timehero No dejo de lado la pregunta inicial, que es lo que realmente me interesa, pero, suponiendo que este mando tenga ese truco para habilitar X-Input:
Cómo encajarían los 6 botones de N64 en el mapa de botones de X-BOX / X-Input?
Yo tras probar ya varios mandos no oficiales de 64 no me interesa ninguno que no tenga la forma y disposición del original. Sé que es un mando criticado por muchos y yo mismo lo critiqué cuando era jugador de PS1, pero tras explorar su catálogo no siento cómodo ni igual de reactivo ningún mando que no sea el original para los juegos creados para ella.
@SuperPadLand Es una de las razones por las que juego poco a N64 en emuladores, no me siento cómodo jugándolos con un pad tradicional. Lo he intentado pero es que no me hago a ellos. Al final tendré que comprar alguno de n64 para PC chinorri solo para esto.
@SuperPadLand @Lázaro Si yo aún tuviera mis consolas originales y mandos y demás, de N64 y muchas otras cosas, en vez de este mando, me compraría el adaptador de RaphNet, o usaría los viejos Adaptoids que tenía y jugaría así. Claro que teniendo la consola tampoco me preocuparía mucho de emuladores, pero estamos en lo mismo.
Pero lo cierto es que ya no tengo nada de eso, y no tengo ni presupuesto ni ganas para ponerme a buscar mandos originales en buen estado (porque paso de esos sticks de reemplazo en un mando original, la verdad), así que me contentaría bastante si este mando fucionase con un rendimiento suficientemente cercano al original. No tiene que ser 100% exacto, pero lo suficiente. La gente le está dando valoraciones bastante buenas por ahí, pero ahora me sale este detalle sobre la vibración y me resulta un jarro de agua fria. Igual lo compro igual haya o no haya manera de tener vibración en Linux... o igual no. Pero eso es lo que pregunto.

Se puede o no se puede tener vibración en Linux con este mando?
La página de producto dice que solo hay vibración con la Analogue 3D y con Switch, que reconoce el mando como un "Switch Online N64 controller".
Existe soporte para alguno de esos modos en Linux? sería una posible via si es así.

Alguien lo sabe?

SuperPadLand escribió:Sé que es un mando criticado por muchos

No por mi. Me encanta el stick original de N64:
-Cero zona muerta. Se pueden hacer movimientos muy pequeños y precisos si el stick está en un estado aceptable.
-Curva de resistencia uniforme y sin pico de resistencia en el centro, al contrario que no pocos mandos, como el muy celebrado Hori Mini, que lo tuve y no me gustó, por ese y otros motivos: tienen mucha resistencia en el centro, obligandote a hacer fuerza para sacarlo de ahí, y luego se pierde toda la resistencia y te pasas de giro. Pésimo para conducción precisa y otras muchas situaciones.
-La orientación del criticado cuerno central donde está el stick consigue alinear el pulgar con el eje vertical del stick, de forma que avance y retroceso del stick equivalen a estirar y contraer el pulgar sin componente lateral. Una cuestion quizá nimia, pero que yo he encontrado que me permite cierta precisión que no me ofrecen otros sticks que no ofrecen ese alineamiento.

AÑADO:
A continuación del problema de la vibración, ahora descubro que en este mando se secuestra el botón START para encender y apagar, no se si solo en modo inalámbrico, o también si lo conectas por cable. Para encender no me estorba, pero lo de mantener 3 segundos para apagar facilmente puede interferir con funcionalidad nativa, y esto en un mando que recrea el original y hasta es usable en el hardware original.
Es que los de 8BitDo no saben que se mantiene START durante el arranque de la consola para acceder al menú del Controller Pak en juegos compatibles? Y que pasa si algún truco por codigo de botones raro usa una combinación que require mantener START durante varios segundos? No puedo asegurar que lo haya, pero me suena que quizá el menú de configuración "debug" de STAR WARS Shadows of the Empire podría ser un caso de este uso.

Yo entiendo que parece cómodo y tal, que seguro que lo hacen tropecientos mandos inalámbricos. Pero esto es un mando de "recreación", "compatible" y todo eso, y en una situación así no de pueden hacer estas cosas de forma tan negligente. Yo no entiendo esta actitud, la verdad.
Para añadir insulto a la injuria, el mando trae 4 botones extra para funciones que no son las originales de la N64... y en vez de usar uno de esos para apagarlo me interfieren el botón START.
Yo no entiendo estas chapuzas, de verdad que no.
@radorn yo tengo tres de esos mandos pero precisamente los uso en la Analogue 3D y la Switch 2 [+risas]

Buscando rápidamente en Reddit encontré unos posts que dicen esto:

Not sure if this is worth mentioning, but I was able to get rumble working on Retroarch for Linux by putting the controller in Switch mode and using udev for the controller driver. It worked good over USB, but rumble had a serious delay over bluetooth. I'd say rumble would be possible on Windows too if there was a proper driver for it.


I know this is late, but I got rumble working using Switch mode. I use a program called reWASD which detects it as a Switch Online N64 controller, then I set it to convert it to a Switch Pro Controller, which works fine in Steam.


I can confirm that Rumble works on a Steam Deck (Linux), in desktop mode (didn't try gaming mode), while playing the Rosalie’s Mupen GUI emulator. The controller was set to set to the "S" mode on the back controller, and connected via Bluetooth- This is the Nintendo Switch mode, so in the pop-up Bluetooth menu/window at the bottom right corner of your desktop, you'll see it connected as "N64 Controller" instead of "8bitdo 64 BT" (D-mode on back of controller).


También me salió un GitHub de unas librerías de Linux con una Issue abierta de lo mismo ya cerrada donde una respuesta dice lo siguiente:

I just added support for the 8Bitdo 64 Bluetooth Controller. Go ahead and grab the latest main SDL code. D mode doesn't support rumble, so you'll need to switch it to S mode and make sure SDL has permissions to access /dev/hidraw* if you're running on Linux.


No sé si te puede ser de ayuda. Necesitas ponerlo en modo Nintendo Switch (el interruptor en la posición S) y no en el modo D-Input (interruptor en posición D).


Un saludo!
@Falkiño Gracias. Cuanto tiempo.

Pues si que me ayuda y me da bastante seguridad a la hora de decidirme.

Oye, tu que lo usas con Analogue3D: En el manual pone que hay que ponerlo en posición D para usarlo con la A3D.
Esto me choca un poco, porque luego se supone que por D-Input (HID realmente, no se por qué han tenido que ponerle ese nombre tan engañoso) no hay vibración, pero con la A3D si se supone que hay. Es como si esa posición D tuviera dos modos a la vez, o algo... un diseño raro, la verdad.

Podrías comprobar lo siguiente? El manual dice que se enciende con START, y se apaga al mantenerlo 3 segundos.
Esto pasa solo cuando está conectado por bluetooh o 2.54GHz, o también pasa por USB?

@Falkiño del stick de este mando, dirías que tiene mucha zona muerta? poca? ninguna? podré hacer movimientos muy pequeños y correcciones de trayectoria mínimas precisas en juegos de carreras y pilotaje? es uno de los puntos importantes.
@radorn buenas crack, ha pasado tiempo sí. Sobre drivers ni idea, en la Analogue 3D se usa en modo D y la vibración funciona si el juego soportaba Rumble Pak.
Ahora compruebo lo de apagarse por USB.

Sobre la sensibilidad, nunca ninguno será como el original, pero también te digo que sin ser el original, es el mando con la sensibilidad más parecida, o al menos menos molesta. De momento estoy cerca de terminar el Zelda OoT con él y también me he hecho entero el F-Zero X, que por darte un ejemplo en la WiiU me resultó imposible ganar una copa porque tocaba el stick y la nave giraba como loca y aquí voy mucho más parecido al original, de hecho en tres tardes tenía todas las copas en Máster, incluso las del 64DD.
Sigue siendo ligeramente más sensible pero es perfectamente jugable, en dos minutos te adaptas.

Un saludo!

EDIT: por USB no se me apaga con el START 3 segundos, solamente se me apaga así en modo inalámbrico. Por USB se enciende en cuanto se conecta y se apaga al desconectarse.
@Falkiño Gracias otra vez por toda la información que me das.
Algunas de las cosas que dices también las vi por ahí mientras esperaba tu respuesta, así que quedan confirmadas.
Efectivamente otros también me han mencionado lo de que no se apaga por USB, que es una buena noticia :)
Perosigue pareciéndome mal diseño lo que hacen en inalámbrico. Que se encienda con START me parece bien y hasta "cool", pero que se apague también con START es problemático. Deberían haber usado otro botón para eso, cualquiera de los que no sea de la consola original.

De todas formas he revisado el manual y dice que hay START durante 3seg para apagar pero también START durante 8seg para "forzar apagado", como si el mando se pudiese quedar colgado y no apagarse con el procedimiento normal.
Yo diría que eso tampoco debería funcionar en modo USB, pero compruébalo en algun momento si puedes, por favor.

Respecto a la sensibilidad: Como dices, es triste que nadie se moleste en replicar bien la N64. Pero supongo que tendré que comprobar por mi mismo si me molesta o me puedo adaptar. Vistos los sticks que han ido apareciendo durante años y que ninguno acaba de replicar perfectamente el original, me pregunto si es que realmente es tan dificil de conseguir, o es que no se esfuerzan por lograrlo.

Voy a tener que aprender ingeniería electrónica y hacerlo yo mismo ratataaaa .

En cuanto a los drivers. D viene por D-Input, que es un neologismo gamer basado en aplicar el la estructura del nombre del protocolo y API X-Input a la API Direct Input, componente de DirectX, solo que Direct Input no es un protocolo de hardware como X-Input HID, Human Interface Device. HID tiene soporte para vibración, pero por la razon que sea, la forma en la que está implementado no gustó o lo que sea y no se usa casi nunca. En su lugar, los fabricantes suelen implementar su propio lenguage para la vibración, de forma que los botones y demás van por HID normal y la vibración es "custom". Entiendo que eso es lo que pasa con la Analogue 3D. Usa HID y vibración a medida de Analogue, y por eso un PC no la reconoce mediante protocolo estandar. Igual alguien logra descifrarla y está implemetada por algún lado.
9 respuestas