Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Recreated Sinclair ZX Spectrum" bluetooth keyboard support #29

Closed
G7200 opened this issue May 1, 2016 · 9 comments
Closed

"Recreated Sinclair ZX Spectrum" bluetooth keyboard support #29

G7200 opened this issue May 1, 2016 · 9 comments

Comments

@G7200
Copy link

G7200 commented May 1, 2016

A friend of mine created a tiny patch for FUSE 1.1.1 to be able to use it with the Recreated ZX Spectrum in Mode A (“Game Mode”). You can find and download the code here: http://blogs.newphoria.de/2016/04/15/using-recreated-zx-spectrum-with-fuse-1-1-1-emulator/
I compiled it and tested it on fuse (non libretro) with RetroPie and it works like a charm. Then I tried to compile his code on lr-fuse but unfortunately it won't work. Maybe some of you guys are interested and compile it in the next libretro version? Would be awesome.

@leiradel
Copy link
Contributor

leiradel commented May 1, 2016

I'm sorry but I'm not following, and I couldn't find your changes to Fuse and try to find out what this is all about. Could you explain what ZX Spectrum in Mode A is, and what changes you made to Fuse to support it?

Thanks.

@G7200
Copy link
Author

G7200 commented May 1, 2016

Ok. The recreated Sinclair ZX Spectrum is a bluetooth keyboard which has two different keyboard modes. A mode simulates the actual zx spectrum keyboard with it's own key commands for example the LOAD button etc. B mode is the normal keyboard.
There's a developer manual from Ultimate how this "a mode" technically works:
http://sinclair.recreatedzxspectrum.com/downloads/ZX%20Keyboard%20Technical%20Document%202015_05_13.pdf

My friend included those commands into some of the necessary files from fuse v1.1.1. If you download his zip you can see which files he replaced. After compiling fuse, the recreated keyboard can be used.

@G7200
Copy link
Author

G7200 commented May 1, 2016

Download this and you will see the changes:
http://blogs.newphoria.de/wp-content/uploads/2016/04/rzxinput003.zip

@leiradel
Copy link
Contributor

leiradel commented May 1, 2016

Does mode B work with fuse-libretro? If it doesn't, in which way it fails since it's an USB keyboard? If it does, what are the benefits of mode A over mode B?

@G7200
Copy link
Author

G7200 commented May 1, 2016

The differences between a and b mode is described in the pdf i posted above. B mode works only as a qwerzy keyboard in libretro. As soon you need to use symbol shift or caps shift the b mode is useless.

@leiradel
Copy link
Contributor

leiradel commented May 1, 2016

The correct solution here is to bug the keyboard developer to fix their product, i.e. make it send keycodes for the Caps Shift and Symbol Shift keys in Mode B, which could then be mapped in the emulator with ease, instead of forcing emulators to have a setting for the Mode A and a mapping for its weird keycodes. It seems to me they're trying to tie the keyboard with their mobile application.

@leiradel leiradel closed this as completed May 1, 2016
@G7200
Copy link
Author

G7200 commented May 1, 2016

Yes, but unfortunately there's no other workaround. But Fuse works well with this added code and i tested it on many games. I thought I let you know about.
Don't get me wrong can understand your argumentation totally.
There's another Spectrum emulator on Mac called Retro Virtual Machine which has A Mode support as well.
Anyway, thanks for your interest.

@leiradel
Copy link
Contributor

leiradel commented May 1, 2016

Sorry if that came too harsh. I don't know how large is the Recreated Sinclair ZX Spectrum user base, but I can see the benefit for fuse-libretro to support it.

Unfortunately times is in short supply. If you feel like giving a try to add support for it in fuse-libretro, the most relevant files are src/compat/ui.c, which translates libretro input keycodes to the Fuse ones in ui_event, and src/libretro.c, where the mapping used in the translation, keysyms_map, is defined.

@soydemadrid
Copy link

Hi I'm having the same problem with my ZX Spectrum Recreated Keyboard. It would be amazing if youcould add the patch or make mode A work so users have a native replicated ZX rubber key support that this keyboard offers. As it is a replica of the original ZX Spectrum keyboard there are no other keys available such as ESC or F1 etc. The keyboard just has what the old rubber keyed speccy had!! It is amazing and standard fuse works great with it since they added support. But retropie comes with lr-fuse instead so again it would be really nice to have this keyboard supported as it is as closer experience as one can get to being on the real thing while using an emulator and roms. Thanks again if you can reconsider please.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants