[iOS/iPadOS/tvOS] Physical keyboards don't work
Description
Physical keyboards connected via BT don't work with RA at all.
Expected behavior
Keyboards should work the same as with non-iOS versions of RA.
Actual behavior
No real behavior since they simply don't work.
Steps to reproduce the bug
Good test core is one of the VICE ones (Commodore). Load the core and then "Start without content." Connect a Bluetooth keyboard and try typing anything.
Version/Commit
You can find this information under Information/System Information
- RetroArch: 1.18.0 / 90fb335271
Environment information
- OS: iOS 17.4
Apple Magic Keyboard (for iPad) doesn't work as well.
Traditional USB keyboard doesn't work as well. iPad Pro 12.9 1st gen. iPadOS 16.7.7
Tried Apple Magic Keyboard on Apple TV, does not work.
The keyboard handling code is using some private apis and ends up getting removed from the App Store builds. I'm going to need to rewrite it and will plan to include it in the next build.
awesome! got some c64 programs to type in. thanks for your hard work.
- can confirm, tested on iPad Pro 11" 3rd Gen with Magic Keyboard not working.
Fixed by https://github.com/libretro/RetroArch/pull/16580.
Today, 1.18.3 was released on the App Store which fixes this problem. I had to go to Configuration->Reset to Defaults and re-open RetroArch for the iPad keyboard to kick in, though.
Another user posted that some keys of the keyboard were detected on a Commodore core, but not all; but they apparently deleted their post. Anyway, if someone is having issues with this:
- Open the Commodore (or DOS) core until you get a prompt where you can type.
- Open the Quick menu->Controls->Port 1 Controls->Device Type and select “None” or “Disabled”.
- If you return to Commodore/DOS, you’ll see that more keys will be detected. To avoid doing this configuration every time, go to the Quick Menu->Controls->Manage Remap Files->Save Core Remap File.
- If your hot keys are interfering with your keyboard (such as pressing “P” pauses the core instead of typing the letter P), assign a Hotkey. Go to the main menu->Settings->Input->Hotkeys->Hotkey enable. Assign a key to be your hotkey enable (for example, I set the command key). That way, to pause a core, instead of just pressing P, I have to press Command+P.
With these steps all the keys will be detected in those cores where you need to type.
Another user posted that some keys of the keyboard were detected on a Commodore core, but not all; but they apparently deleted their post. Anyway, if someone is having issues with this:
Sorry, that was me. I stumbled through the settings and managed to get it worked out before your reply. Working great now. Thank you!
I don't know.. I reset the config to defaults, start a c64 core as soon as I type "L" the fast forward symbols ">>" appear in the top right corner and I cannot type "L" for anything...
For me, the solution was changing “Auto-enable Game Focus” to “Detect” in the input settings.
I don't know.. I reset the config to defaults, start a c64 core as soon as I type "L" the fast forward symbols ">>" appear in the top right corner and I cannot type "L" for anything...
Set a Hotkey enable, like I specified in my post. Once that’s setup L will be displayed as text.
For me, the solution was changing “Auto-enable Game Focus” to “Detect” in the input settings.
That's what I've been using too. I believe cores like Commodore and DOS are what the setting was intended for. By default, you can also toggle the mode on/off with ScrLck. Only downside to this mode is that there doesn't seem to be any way to enable hot keys so you'll have to use the touchscreen to interact with RA.
The solution I provided is better, I think, because it lets me use my full keyboard AND the hot keys.
Could someone PLEASE tell me how to get the new version 1.18.3 on my Apple TV? I've been trying since yesterday morning when it became available for the iPad but the Apple TV App Store still only offers 1.18.2. I've tried uninstalling and re-installing RetroArch, as well as rebooting the Apple TV, all to no avail. I didn't have this trouble when going from 1.18.1 to 1.18.2. Thanks in advance.
It has not yet been approved for AppleTV but I expect that to happen soon.
Thanks for the info! I was led astray by Apple's 1.18.3 web page [https://apps.apple.com/us/app/retroarch/id6499539433] which says for Apple TV at the top. I'll keep an eye out.
Version 1.18.3 finally downloaded to Apple TV this morning. But :( no joy. Bluetooth keyboard is connected and can be used to navigate Apple TV menus and enter text where necessary, but as soon as I run RetroArch, no keys on the keyboard work any more - can't even move up/down menu items using up/down arrows. Another clue is that the mouse cursor does not show (whereas it does on iPad with same keyboard). Somehow, RetroArch is simply not seeing it.
If the menus and on-screen keyboards respond to the keys but the games don't then it sounds like a mapping problem and should be able to be solved via config rather than a code change. However that's all the information I can give you off-hand at the moment. I would need to research the config settings to see where it might be going awry.
Just to clarify... only the Apple TV menus and Apple TV on-screen keyboards respond to the keys. Once I launch RetroArch, its menus respond to the Apple TV remote but not the keyboard. If I go to a RetroArch setting that puts up an on-screen keyboard (for example, Import Content/Manual Scan/Custom System Name), the keys have no effect there either.
This is all before loading or starting any core.
Ah, sorry, misunderstood, thanks for the clarification.
Just to clarify... only the Apple TV menus and Apple TV on-screen keyboards respond to the keys. Once I launch RetroArch, its menus respond to the Apple TV remote but not the keyboard. If I go to a RetroArch setting that puts up an on-screen keyboard (for example, Import Content/Manual Scan/Custom System Name), the keys have no effect there either.
This is all before loading or starting any core.
Did you reset Retorarch configuration and reset the app? I had to do that, as I said, for the keyboard to work on the iPad version. Perhaps the same happens on Apple TV.
Reset configuration, swipe away app, launch app: no effect - kbd still doesn't work. Delete app, re-download app, launch app: no effect - kbd still doesn't work.
FWIW, the BT keyboard I'm using is an iPazzPort KP-810-21BT with built-in touchpad.
Unfortunately I'm using the latest version (1.18.3) in my Apple TV and I can't get my magic keyboard to work properly. I can't type in any core (tried amstrad, C64 and dosbox). Since perhaps is relevant I'd like to add that my Apple remote is broken so I am also using my TV remote to control the device.
@leandrinux are you in game focus mode?
@warmenhoven I tried with that option off and also in detect mode. When using detect mode not only it doesn't work, I can't quit properly the app and I have to force close it.
I just tried with another Magic Keyboard (the newer version with built in batteries) and I had the same results.
I've noticed that using the apple remote (which I fixed yesterday) causes some letters to appear on screen in the C64 emulator, like s and x
Yeah that's an artifact of handling the Siri Remote like a keyboard instead of a game controller. I should clean that up.
I can corroborate every symptom that @leandrinux is experiencing, but in my case using an IPazzPort keyboard with my Apple TV 4K.
Thanks. I'm currently preparing the 1.19.0 App Store submission but will be keep this on my list. There are a few input problems including this and the iPad Magic Keyboard touchpad that need to get cleaned up.
Ok, so there is now a 1.19.0 for the Apple TV but not only does the keyboard not work (I didn't expect it to), but now the Apple TV remote doesn't work (in any usable fashion) either. Sometimes, you can navigate into a sub-menu, select stuff there, but the MENU button on the remote doesn't go back to the previous menu as it previously did, so you're stuck there. Also, in the C64 core, the up/down/left/right on the remote no longer work!