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

Using arrow keys is too hard #14

Open
dfilskov opened this issue Apr 20, 2024 · 7 comments
Open

Using arrow keys is too hard #14

dfilskov opened this issue Apr 20, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@dfilskov
Copy link

dfilskov commented Apr 20, 2024

It's really hard to move the cursor up and left.

@dfilskov dfilskov added the bug Something isn't working label Apr 20, 2024
@dfilskov dfilskov changed the title Arrow up/left is missing [enhancement] Arrow up/left is missing Apr 20, 2024
@markus-zzz
Copy link
Owner

It is the shift modifier + DN/RT just like on a real C64.

See the following snippet from the README

For the virtual keyboard the face-x button toggles sticky keys (useful for modifiers such as shift) and the face-y button clears any sticky key. Normal key press is accomplished with the face-a button.

I.e. first press the SHFT as sticky and then go for the DN/RT keys.

Or did I misunderstand the problem?

@dfilskov
Copy link
Author

dfilskov commented Apr 20, 2024

Oh - that helps. And that's why you didn't respond to using X or Y to type RUN RETURN :)

Perhaps using R (shoulder) for Shift instead is simpler? - like it was a key so you simply hold it to hold Shift.

And holding L could make the D-pad turn into the cursor buttons (up and left using Shift automatically, I guess).

Then X and Y could be used for Space and RUN RETURN perhaps. :) or Reset + RUN RETURN could simply be a feature in the MISC menu below the PRG file.

@dfilskov dfilskov changed the title Arrow up/left is missing Using arrow keys is too hard Apr 20, 2024
@markus-zzz markus-zzz added enhancement New feature or request and removed bug Something isn't working labels Apr 20, 2024
@markus-zzz
Copy link
Owner

Hmm, originally I used L1 for shift modifier (the left shift key). The problem with this approach is that there are several modifier keys on a C64 keyboard (left shift, right shift, ctrl). Also looking at the hardware https://www.c64-wiki.com/wiki/Keyboard I cannot really see what hinders any other key from possibly being treated as a modifier by C64 software.
So that said I think the current solution with 'sticky keys' is the most generic, though a bit inconvenient.

For mapping the cursor keys to the d-pad I have though about that too and agree that it could be useful.

@dfilskov
Copy link
Author

Ah I see. Thanks for explaining!

Glad you've thought about possible cursor keys :)

I do understand why you want the keyboard to be "fully" functional for all keys. That certainly makes sense - though I don't think it's more important than making the most used actions easy and fast.

However - there might be a way to do both.

@dfilskov
Copy link
Author

Which buttons are free for other purposes when the OSD isn't shown?

Which buttons are free when the OSD is visible? - none?

@markus-zzz
Copy link
Owner

markus-zzz commented Apr 21, 2024

Without OSD all but dpad and fire are available.
During OSD currently only right-of-analogue and one of the fire buttons.

If you want to help out and experiment with various options here it is not very difficult to modify the bios code for this purpose. Should I write a short guide on how to setup the build environment?

@dfilskov
Copy link
Author

Thanks a lot for the suggestion. I'm no programmer and this would probably be too much of a task for me to get done.

Without the OSD it seems we have lots of buttons availble for a macro that writes RUN RETURN :)

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

No branches or pull requests

2 participants