RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

[iOS/iPadOS/tvOS] Physical keyboards don't work

Open kmasaryk opened this issue 1 year ago • 6 comments

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

kmasaryk avatar May 19 '24 21:05 kmasaryk

Apple Magic Keyboard (for iPad) doesn't work as well.

jamescastells avatar May 20 '24 03:05 jamescastells

Traditional USB keyboard doesn't work as well. iPad Pro 12.9 1st gen. iPadOS 16.7.7

tatobox avatar May 20 '24 07:05 tatobox

Tried Apple Magic Keyboard on Apple TV, does not work.

andahme avatar May 20 '24 16:05 andahme

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.

warmenhoven avatar May 21 '24 14:05 warmenhoven

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.

vadershade avatar May 21 '24 22:05 vadershade

Fixed by https://github.com/libretro/RetroArch/pull/16580.

warmenhoven avatar May 22 '24 14:05 warmenhoven

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.

jamescastells avatar May 25 '24 14:05 jamescastells

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.

jamescastells avatar May 25 '24 17:05 jamescastells

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!

HowlinAlan avatar May 25 '24 17:05 HowlinAlan

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...

vadershade avatar May 25 '24 19:05 vadershade

For me, the solution was changing “Auto-enable Game Focus” to “Detect” in the input settings.

HowlinAlan avatar May 25 '24 19:05 HowlinAlan

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.

jamescastells avatar May 25 '24 21:05 jamescastells

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.

kmasaryk avatar May 25 '24 22:05 kmasaryk

The solution I provided is better, I think, because it lets me use my full keyboard AND the hot keys.

jamescastells avatar May 26 '24 03:05 jamescastells

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.

fcprindle avatar May 26 '24 11:05 fcprindle

It has not yet been approved for AppleTV but I expect that to happen soon.

warmenhoven avatar May 26 '24 13:05 warmenhoven

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.

fcprindle avatar May 26 '24 14:05 fcprindle

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.

fcprindle avatar May 27 '24 13:05 fcprindle

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.

warmenhoven avatar May 27 '24 13:05 warmenhoven

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.

fcprindle avatar May 27 '24 14:05 fcprindle

Ah, sorry, misunderstood, thanks for the clarification.

warmenhoven avatar May 27 '24 15:05 warmenhoven

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.

jamescastells avatar May 27 '24 15:05 jamescastells

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.

fcprindle avatar May 27 '24 16:05 fcprindle

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 avatar May 30 '24 02:05 leandrinux

@leandrinux are you in game focus mode?

warmenhoven avatar May 30 '24 16:05 warmenhoven

@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

leandrinux avatar May 30 '24 21:05 leandrinux

Yeah that's an artifact of handling the Siri Remote like a keyboard instead of a game controller. I should clean that up.

warmenhoven avatar May 30 '24 21:05 warmenhoven

I can corroborate every symptom that @leandrinux is experiencing, but in my case using an IPazzPort keyboard with my Apple TV 4K.

fcprindle avatar May 30 '24 22:05 fcprindle

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.

warmenhoven avatar May 30 '24 22:05 warmenhoven

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!

fcprindle avatar May 31 '24 13:05 fcprindle