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

Fake keyboard for function keys #7

Open
dfabulich opened this issue May 20, 2024 · 5 comments
Open

Fake keyboard for function keys #7

dfabulich opened this issue May 20, 2024 · 5 comments
Labels
enhancement New feature or request mobile

Comments

@dfabulich
Copy link
Contributor

Arthur has a system where you press F1, F2, etc. to switch between modes. (Graphics, Map, Inventory, Score, Room Description, and Text Only.)

Fn keys can be difficult to type on modern keyboards, and impossible to use on mobile keyboards.

I think Arthur should have on-screen buttons that send the appropriate Fn keystrokes to Frotz.

@curiousdannii curiousdannii changed the title Arthur: Clickable Fn Key Buttons Fake keyboard for function keys May 20, 2024
@curiousdannii curiousdannii added the enhancement New feature or request label May 20, 2024
@dfabulich
Copy link
Contributor Author

The difference between #7 and #8 in my mind is that I thought it would be better if Infocom Frotz had different UI for different games.

For example, Journey doesn't offer Fn buttons to switch between modes, but does benefit from arrow keys, so Journey's UI could have arrow keys, but no Fn buttons, and Arthur could have Fn buttons but no arrow keys.

As I'm imagining it, the Arthur buttons wouldn't say [F1] [F2] [F3] etc. but rather [Graphics] [Map] [Inventory] [Score], etc.

@curiousdannii
Copy link
Owner

Ooohh. Wow, I had no idea Arthur even had a map!

I had been thinking of adding a generic function keys fake keyboard, like I want to for Parchment (curiousdannii/asyncglk#3). But it sounds like a more tailored solution would be better here. the buttons for Arthur might make more sense being on top for example. I'd probably still use the same system underneath them though.

Would Zork Zero or Shogun benefit from anything?

@dfabulich
Copy link
Contributor Author

Shogun and Zork Zero both use the Fn keys as remappable "shortcut keys." Try typing DEFINE on the Zork Zero command line to see how it works. https://infodoc.plover.net/manuals/temp/zork0.pdf

I don't really care for it, personally. I don't think it's worth adding extra Fn buttons for those games. But I absolutely do think that Fn buttons make sense for Arthur, and I'd want them visible not just on mobile, but on all platforms, because the modes feature is totally undiscoverable otherwise.

As for the arrow keys, well, the arrow keys do what they always do in these games. Left and right moves the cursor (which can be quite handy on mobile keyboards), and up / down will let you navigate through your history of previous commands.

But having on-screen arrow buttons would be especially valuable in Journey. I think that would make Journey "actually playable" on mobile, even without fixing #1, as opposed to how it stands now, where the options are really much too small to tap.

@curiousdannii
Copy link
Owner

curiousdannii commented May 21, 2024

I wonder if Frotz could send a signal for when it's in line input mode compared to keypress mode. Maybe it would be possible to let the phone's IME do autocompletes and spellchecks that way. I don't know if I want to spend that much time on it though... but I guess I'll make an issue for it. Arrows in the meantime is very doable though.

Also, note that #1 is just about buttons in the save/restore dialog. I wouldn't want to even attempt to try to change the layout of the games themselves.

@curiousdannii
Copy link
Owner

I added mode buttons for Arthur! It's really using all the available space now.

Screenshot_20240524-135648

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mobile
Projects
None yet
Development

No branches or pull requests

2 participants