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

Keyboard issue with @ and " on CommanderX16 keyboard #158

Open
cursorkeys opened this issue Aug 8, 2023 · 3 comments
Open

Keyboard issue with @ and " on CommanderX16 keyboard #158

cursorkeys opened this issue Aug 8, 2023 · 3 comments

Comments

@cursorkeys
Copy link

Hi!

Some keyboards, like the CommanderX16 keyboard, have the @ character mapped as SHIFT-2, and the " character is on it's own key. Since these are combination keys, they cannot be remapped in the OCD.
(You'd need to remap the "2" key, and the 2 would be in a strange place)

Some other cores, like the Apple-1 core, seems to be adapted to this layout, and have the "right" key mapping.
But all the commodore cores seem to "swap" these keys. (the shift 2 key, returns a " character, and the @ is nowhere to be found)

When booting direcly in Linux, the keymapping seem to be the same as the apple core. But in the Commodore cores, the mapping seems to be not 1 to 1.

If this is so for a reason, perhaps, an keyboard-layout-checkboxlike-option could be introduced, for these type of keyboards that have Shift-2 purposed to get a "@".

Thanks

@sorgelig
Copy link
Member

sorgelig commented Aug 8, 2023

@ is on key [ without shift.
Both " on 2 and separate @ after key P - this is how original C64 keyboard works.
I don't know about customized keyboards. MiSTer needs standard PC US international keyboard.

@cursorkeys
Copy link
Author

Thanks for commenting on the ticket!

I agree, this is how the original commodore keyboard works. But many of us are using PC keyboards. I'll argue that number maybe above 90%. PC Keyboards have different layouts. Some support there would be awesome.
I understand supporting them all, would be a pandora's box type of thing. But key remapping solves it partly allready. Except that combi-keys cannot be remapped. So combi key remapping would be very usefull (at least to me).

I don't know about customized keyboards. MiSTer needs standard PC US international keyboard.

That I did not quite follow. Since if I test with a standard US Keyboard (see here for example), https://www.farah.cl/Keyboardery/A-Visual-Comparison-of-Different-National-Layouts/ , you can see that it has the @ mapped on the shift-2 combi. Whereas the extended uk, has the " mapped on shift-2. The core acts more like extended UK, then US.
When dropping to MISTer-Linux, my keyboard acts as intended.

Also, my keyboard is not as such "customized", it behaves like the US standard keyboard.
(It is more or less a standard US keyboard, only with PETSCII characters printed on them as well)

My usecase, let me explain is this. I have a special flash, that is dedicated to Commodore machines. here I do everything to customize all settings to be optimal for Commodore cores. So in my usecase, it is only relevant to be able to configure Commodore cores to be optimal. Any conflict with other cores is fine, since they are on another flash anyway.

For Commodore, I also include keyboard remapping. (for example, I needed to remap the key lock screen, since on not extended keyboards (like mine), it is not there. Remapping solved that.
My issue is that key remapping is limited to key's and cannot address key combo's.
And after buying a really expensive PETSCII keyboard for only this MISTer with commodore reason, I'l be very happy if I can make it work fully, without nasty (to me at least), keys that don't do as advertised.
And to me it does not even have to be GUI driven config. An ini file would do, with some binary config if that is the only way.

Also I happened to see the discussion with kgmossey, and the discussion in it. I did not follow your line of thinking fully (or maybe misunderstood it). Anyway, I tested his core, and that works fine, with the option to select between Commodore and PC keyboard. I'd love to see that change in this repos as well. (since this one is being updated much more frequently)

I understood you two have your differences, and I tried to follow the discussion. The part I did not understand is in your reasoning was this:

this map relocates keys making not more useful as current map since you have to learn some keys anyway.

To me, his change was very useful. I am using it now, and it works great. Literally almost no keys to remember, everything is as the label says.

But his change is in a clone repos. I don't want that since, it will get outdated.
Anyway, You also mentioned that you have a solution where both PC and Commodore layout would be both supported. This in the end may solve my troubles, and I would look forward to testing that as soon as it comes out.

Anyway, I won't hassle you anymore if you still decide to not implement it, but again thanks for the quick response, and just a reminder MISTer is really an awesome project. Kinda hard to believe you're doing most of this yourself.

Thanks!

@sorgelig
Copy link
Member

sorgelig commented Oct 6, 2023

Current mapping has compromise as well. But it's minimal from one side it doesn't go too crazy so games won't misbehave because games usually treat shift and numbers separately. You don't want game to misbehave because you pressed shift and number key already has different code. And at the same time current mapping doesn't require to remember much. Once you start to use C64 core, you easily remember it. No special keyboard required.

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

No branches or pull requests

2 participants