USB Keyboard Encoder "Dual Strike" ArcadeForge
Hello there, I have used this USB Encoder ever since building my bartop. It was working fine with recalbox 6.
Now that I've "updated" (clean install) recalbox 7, I cannot figure out, how to configure the keyboard encoder (itself and/or inside recalbox).
recalbox says "Arduino LLC ArcadeForge Key Strike connected".
When I try to configure the controller, joystick down results in skipping the current mapping line/prompt. Buttons register fine but when navigating joystick up always sends two up events.
Created the file "usb-Arduino_LLC_ArcadeForge_Key_Strike-if02-event-kbd" inside /recalbox/share/system/configs/xarcade2jstick as per documentation - which I don't know if it's still right or currently outdated?
Tried the default MAME association as well:
Label Key ------ ------ COIN 1 5 COIN 2 6 START 1 1 START 2 2 1 RIGHT R arrow 1 LEFT L arrow 1 UP U arrow 1 DOWN D arrow 1 SW 1 L-ctrl 1 SW 2 L-alt 1 SW 3 space 1 SW 4 L-shift 1 SW 5 Z 1 SW 6 X 1 SW 7 C 1 SW 8 V 1 A P 1 B ENTER START 1 1 START 2 2 2 RIGHT G 2 LEFT D 2 UP R 2 DOWN F 2 SW 1 A 2 SW 2 S 2 SW 3 Q 2 SW 4 W 2 SW 5 I 2 SW 6 K 2 SW 7 J 2 SW 8 L 2 A TAB 2 B ESC
also tried the button mapping mentioned here https://recalbox.gitbook.io/tutorials/usb-encoders/recalbox-for-your-usb-keyboard-encoder under Key mapping v4.0.0 - beta4
@Zing Thanks, done that!
I have an Arcade Forge Dual Strike encoder, and I can confirm this is a real problem in RB. The joystick movements register twice, unless you tap it really quickly. In my case, the encoder is set up as a standard 8 button gamepad (not as a keyboard), and it's possible, but not easy, to configure the directions correctly. The 8 buttons are working fine.
Btw, the encoder works perfectly under Windows or Lakka, so it's not a hardware problem. This looks like some timing issue in the 4 directions.
acris last edited by
version recalbox ?
please update to 7.1.1
@acris I've installed a fresh 7.0.1
Great that there's a 7.1.1 already, will try that later today and report back.
@jonas thanks for sharing your experience! Buttons work fine here as well, left/right of the joystick(s) as well, but up/down is always very finicky. Can't get them working properly, they always register nothing at all or double input.
Used the encoder since Recalbox v4 or something and had every release since then, worked fine with more or less configuration from time to time, but for v7 I'm currently lost.
Did you manage to get the encoder configured in v7?
Ok, thanks to Home Office I quickly flashed the 7.1.1 onto the SD Card and tried assigning the encoder. Same behavior as before, sadly.
When it comes to assign "down" it just skips that entry and assigns the down press (button 5 in my case) to the next one in the list. I continue to assign all other buttons and re-assign wrong assignments due to the skipping before but I am unable to assign "button 5" or anything other to "down".
When accepting this "joystick up" fires twice every time and "joystick down" not at all.
Could you please tell me where the input configuration is written so I can probably fix it manually in there?
@SmashDde I've just finished testing the encoder with 7.1.1, paying extra attention to how the inputs behave inside EmulationStation.
When in gamepad mode, the encoder works, but not as smoothly as it should. For each 10 vertical (up/down) stick movements, there are one/two movements which will register two inputs. It's somewhat random, and very annoying. After launching a game, the controls work quite well... it's somewhat difficult to say if the double input is present or not. Maybe it depends on the game.
When in keyboard encoder mode, the vertical movements will always register two inputs, and only one of the eight buttons is working. Configuring the encoder manually as per the tutorial instructions has no effect at all. Therefore, completely useless.
SmashDde last edited by SmashDde
@jonas Thanks very much for going through the hassle of testing this and writing down your findings. At least I am not the only one and can be somewhat certain that further fiddling around with settings, trying different bindings on the keyboard controller itself and so on wouldn't be successful neither. Don't get me wrong: I did this prior of posting in the forums/github bug tracker. For hours. Things like this, especially when it's a self-made and not too cheap thing, drive me mad. I want the stuff to be working.
Help from one of the devs would be very much appreciated. Whatever I am able to contribute: just let me (us?) know.
As a last resort I could always go back to the latest Recalbox v6, I guess ...
Bartop without the joysticks and buttons working is quite useless after all
@SmashDde You're welcome. I know what you mean, I have another keyboard encoder and these things are really a pain in the a** to get configured properly. Sometimes it's just a tiny forgotten detail that makes them work, so we keep trying again and again...
But in our particular cases, it looks like nothing can be done without help of the devs. The ArcadeForge encoders are "asking" to be fixed since Recalbox 4.0, I think, but because these are not mass-produced commercial products, widely available and with a lot of users, not much information can be found and they do not attract that much interest
Well, no progress on this one neither by myself or the devs so I probably will switch back to recalbox v6 or some other raspberry emulator distribution, I guess... Sad.
SmashDde last edited by SmashDde
@jonas hey there, since I am not expecting anything to change I've installed DragonBlaze v6.1.1 onto the SD Card.
I had to struggle with the Arcadeforge setup there the last time, but had it working.
BUT NOW it seems all info on how to do this is gone, since I cannot find the wiki anymore (for recalbox v6 or earlier).
This is what I have done:
- enabling xarcade controller
This is what I have done via putty/shell:
- listing available devices via "ls /dev/input/by-id"
- creating an empty file with the device name (usb-Arduino_LLC_ArcadeForge_Key_Strike-if02-event-kbd)
done that by:
mount -o remount, rw /boot
That should be 99% there, but I guess I am missing something, because when I try to do the controller configuration (where you have to hold one button to start configuring the device) it says "keyboard" and I am pretty sure it said something other than that the last time (months ago though).
Tried everything back and forth, checked the ArcadeForge button binds, tried it in gamepad mode and so on... with or without rom library on external USB HDD.
Cannot get my 2-player joystick/button combo to work. Which is pretty sad. Sure, I can hook up PS3, PS4 or 8bitdo controllers (and many more), but I did not build a bartop arcade for that.
Anyway, rambling won't help either ^^
Do you remember or possibly have any notes on how to setup a keyboard encoder?
@SmashDde The only related documentation I remember is this:
@SmashDde , what you describe seems to be correct.
Check if the device listing shows more than one entry/name. If yes, you must try them all.
I used this method to setup my iPac2, and I remember only one of the strings worked.
Thanks! What could be the cause for the usb encoder to be only recognized as "keyboard" no matter what I try, though?
Flashed the 6.1.1 image fresh onto the sd card (removed any custom partitioning and so on beforehand), made basic configuration (like WiFi so I can get SSH shell connection), and tried creating the file(s) mentioned in the /system/configs/xarcade2jstick folder (file a, file b, file a and b).
Each try with a reboot and testing of course. Double checked using the exact same name the ls command is outputting, despite using copy and paste for it.
Only getting "keyboard" now when configuring the buttons, which is quite frustrating.
What could be the cause for the usb encoder to be only recognized as "keyboard" no matter what I try, though?
I'm not a developer, and I don't have enough technical knowledge to guarantee ... but, as far as I understand, the driver makes the device recognized as a keyboard, including the name of the file you cited makes it look like this (kbd seems to be the abbreviation for keyboard):
As I said, I am not a developer, so I may be wrong.
pssadm last edited by
I have an iPac-2 and just updated fresh install of 7.1.1.
I have the same exact issue as @smashDde above. I see the devices listed. It tired making a file for all the devices displayed. (The kbd one should be the most logical) .. but nothing works. I deleted all the ones that were listed by default. Created one of the devices. Rebooted and repeated that over and over. None of the documentation indicate whether or not to delete the existing files or to create all of the device names listed by-id in the xarcade2jstick directory.
Doesn't matter what I try, the recalbox emulation station controller setup area does NOT see a keyboard there by it doesn't let me hold a button and program the keys! But get this, I can use Joystick 1 perfectly up,down, right,left... I can press player 2 switch 1 and it effectively acts as the "A" select key on the keyboard. Basically, there is a mapping of sorts, but it's totally messed up. And with NO way to reprogram the button mapping.. The new version of recalbox is a step or three backwards. Poor documentation does not help at all I might add.
If you know how to manually edit the emulation station keyboard mapping to bypass the keyboard detection thing.. that may be useful.
@pssadm Thanks for describing your situation as well. I have put 2-digit hours into trying to solve the seemingly problem on my end (adding custom controllers wasn't too easy anyway) but I don't think it's something you could solve by doing it different anymore.
When I have the time and desire I will try it again with recalbox v6 - which wasn't successful the last three or four times btw but I had it working prior to upgrading to v7 - or I'll move over to some other project. At the moment I am still hoping for "the magic update that fixes this" but ...
Last time I used my iPac2, I was still on Recalbox 6.x. Meanwhile, I had my devices stowed away, and now I reassembled my control panel just to verify if they work. I checked again with 7.1.1, and I can confirm the iPac2 does not work anymore. It behaves like a plain simple keyboard. My iPac2 controller is very old, pre-2015, no fancy firmware updates to check, but has always worked fine.
Damn. Time to try another retrogaming distro.